openapi: 3.0.3 info: title: Factset Analytics Datastore About Index 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: Index paths: /factset-benchmarks/v1/index-snapshot: get: summary: Factset Index Level Prices, Returns, and Related Information as of a Single Date. operationId: getIndexSnapshot tags: - Index description: 'Retrieves Index Level Prices and Returns information as of a specific date. Simply submit a valid Benchmark ID (you can use the /id-list endpoint for a sample list of ids), and date and retrieve Index Level Prices, Returns, and related information. ' parameters: - $ref: '#/components/parameters/indexIds' - $ref: '#/components/parameters/requestedDate' - $ref: '#/components/parameters/returnType' - $ref: '#/components/parameters/currency' - $ref: '#/components/parameters/calendar' responses: '200': description: An array of Index Level Prices and Returns information as of a single date content: application/json: schema: $ref: '#/components/schemas/indexSnapshotResponse' examples: Index Level Prices and Returns snapshot for S&P 500 and Russell 3000 as of 2020-08-06: $ref: '#/components/examples/resultofIndexSnapshotMultiple' '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: summary: Factset Retrieves the Index Level Snapshot of Prices and Returns Information for a Given Identifier and Single Date. operationId: getIndexSnapshotForList tags: - Index description: 'Retrieves Index Level Prices and Returns information as aligned with FactSet''s Benchmark Data Feed solution. Simply submit a valid Benchmark ID (you can use the /id-list endpoint for a sample list of ids), and date and retrieve Index Level Prices, Returns, and related information. ' requestBody: required: true description: Requests the Index Level Snapshot for a requested list of identifiers and specified date. content: application/json: schema: $ref: '#/components/schemas/indexSnapshotRequest' responses: '200': description: An array of Index Level Prices and Returns information as of a single date. content: application/json: schema: $ref: '#/components/schemas/indexSnapshotResponse' examples: Index Level Prices and Returns snapshot for S&P 500 and Russell 3000 as of 2020-08-06: $ref: '#/components/examples/resultofIndexSnapshotMultiple' '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-benchmarks/v1/index-history: get: summary: Factset Retrieves Index Level Prices and Returns Information for a List of Identifiers and Historical Date Range. operationId: getIndexHistory tags: - Index description: 'Retrieves Index Level Prices and Returns information as of a date range requested. Simply submit a valid Benchmark ID (you can use the /id-list endpoint for a sample list of ids), and date range to retrieve Index Level Prices, Returns, and related information. ' parameters: - $ref: '#/components/parameters/indexIds' - $ref: '#/components/parameters/startDate' - $ref: '#/components/parameters/endDate' - $ref: '#/components/parameters/frequency' - $ref: '#/components/parameters/returnType' - $ref: '#/components/parameters/hedgeType' - $ref: '#/components/parameters/currency' - $ref: '#/components/parameters/calendar' - $ref: '#/components/parameters/impliedDate' responses: '200': description: An array of Index Level Prices and Returns information for a requested date range. content: application/json: schema: $ref: '#/components/schemas/indexHistoryResponse' examples: Index Level Prices and Returns snapshot for S&P 500 and Russell 3000 from 2020-08-05 to 2020-08-06: $ref: '#/components/examples/resultofIndexHistoryMultiple' '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: summary: Factset Retrieves Index Level Prices and Returns Information for a List of Identifiers and Historical Date Range. operationId: getIndexHistoryForList tags: - Index description: 'Retrieves Index Level Prices and Returns information as aligned with FactSet''s Benchmark Data Feed solution. Simply submit a valid Benchmark ID (you can use the /id-list endpoint for a sample list of ids), and date and retrieve Index Level Prices, Returns, and related information. ' requestBody: required: true description: Requests Index Level History Prices and Returns for a list of identifiers and specified date range. content: application/json: schema: $ref: '#/components/schemas/indexHistoryRequest' responses: '200': description: An array of Index Level Prices and Returns information for a requested date range. content: application/json: schema: $ref: '#/components/schemas/indexHistoryResponse' examples: Index Level Prices and Returns snapshot for S&P 500 and Russell 3000 from 2020-08-05 to 2020-08-06: $ref: '#/components/examples/resultofIndexHistoryMultiple' '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 /news/article/listByIndex: post: tags: - Index operationId: post/news/article/listByIndex x-supportsOffsetBasedPaging: false x-supportsOffsetBasedPagingWithoutTotal: false x-supportsCursorBasedPaging: false x-supportsCursorBasedPagingWithoutTotal: true x-supportsPush: true x-requiresUser: false x-requiresInternalClient: false x-disallowUser: false x-no-merge: false x-maxSortParameterCount: 10 x-supportsPermissionDeniedResponse: false summary: Factset News Articles for Instruments That Are Constituents of the Given Indices. description: News articles for instruments that are constituents of the given indices. requestBody: description: Request Body content: application/json: schema: $ref: '#/components/schemas/PostNewsArticleListByIndexRequest' required: true responses: '200': $ref: '#/components/responses/PostNewsArticleListByIndex200Response' parameters: [] x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: indexIds: title: Index Ids type: array items: type: string minItems: 1 maxItems: 500 description: Benchmark Identifiers. Reference the helper endpoint **/id-list** to get a sample list of valid identifiers. example: - SP50 calendar: title: Calendar type: string enum: - FIVEDAY - SEVENDAY default: FIVEDAY description: Calendar of data returned. SEVENDAY includes weekends. example: FIVEDAY indexSnapshotRequest: type: object title: Index Snapshot Request properties: ids: $ref: '#/components/schemas/indexIds' date: $ref: '#/components/schemas/requestedDate' returnType: $ref: '#/components/schemas/returnType' currency: $ref: '#/components/schemas/currency' calendar: $ref: '#/components/schemas/calendar' required: - ids requestedDate: title: Date type: string description: Date of holding expressed in YYYY-MM-DD format. example: '2020-08-06' endDate: title: End Date type: string description: Requested end date for Range expressed in YYYY-MM-DD format. example: '2019-12-31' impliedDate: title: Implied Date type: string enum: - Y - N default: N description: This parameter controls the **date** returned in the date field. The default value is **N**. By default, the date field returns the actual date of the observation. This means it will repeat values for weekends and holidays. If set to **Y**, the date field will return the implied date of the observation, making all the dates unique. AttributesMember: type: array description: Limit the attributes returned in the response to the specified set. items: type: string maxLength: 100 exclusiveMaximum: false maxItems: 50 uniqueItems: true PostNewsArticleListByIndexRequest: x-property-sort: - data - meta description: Request Body required: - data type: object properties: data: type: object x-property-sort: - identifier - filter description: The data member contains the request's primary data. properties: identifier: type: object x-property-sort: - values - type description: Set of identifiers and their type. properties: values: description: Set of identifiers to resolve. type: array nullable: false items: type: string minLength: 3 exclusiveMinimum: false maxLength: 50 exclusiveMaximum: false pattern: ^[B-DF-HJ-NP-TV-Z0-9]{6}-[LR]$|^[A-Z0-9.#&*+]{1,47}-[A-Z0-9]{2,4}$|^[0-9]{3,20}$ uniqueItems: true minItems: 1 maxItems: 100 type: type: string description: Type of the identifier. x-enum-description: - MDG identifier of a listing. - FactSet market symbol of a listing. - Regional FactSet ticker symbol, identifying the primary listing in the region. - FactSet Permanent Identifier on listing level. - Regional FactSet Permanent Identifier, identifying the primary listing in the region. enum: - idNotation - tickerExchange - tickerRegion - fdsPermanentIdentifierListing - fdsPermanentIdentifierRegional required: - values - type filter: description: Criteria that filter the items in the response list; only items that match all of the criteria are returned. type: object x-property-sort: - range - categories - regions - distributor - publisher - language - types properties: range: type: object format: timeRange properties: start: type: string format: datetime description: The starting point of the time range (inclusive), or `null` to indicate that the time range extends indefinitely into the past. x-allowNullValue: true end: type: string format: datetime description: The ending point of the time range (exclusive), or `null` to indicate that the time range extends indefinitely into the future. x-allowNullValue: true x-property-sort: - start - end required: - start - end description: Time range for matching the news article's date. At most one of the attributes `start` or `end` may be `null`. categories: type: object x-property-sort: - ids description: Filter for specific categories of the news article. Use a category system of type news with endpoint `/category/listBySystem` for valid values. properties: ids: type: array nullable: false items: type: number format: id32 x-positive: true minItems: 1 maxItems: 100 uniqueItems: true description: Identifiers of the categories. regions: type: object x-property-sort: - ids description: Filter for specific regions of the content of the news article. See endpoint `/basic/region/list` for valid values. properties: ids: type: array nullable: false items: type: number format: id32 x-positive: true minItems: 1 maxItems: 100 uniqueItems: true description: Identifiers of the regions. distributor: type: object x-property-sort: - ids description: Filter for specific distributors of the news article. See endpoint `/news/distributor/list` for valid values. properties: ids: type: array nullable: false items: type: number format: id32 x-positive: true minItems: 1 maxItems: 100 uniqueItems: true description: Identifiers of the distributors. publisher: type: object x-property-sort: - ids description: Filter for specific publishers of the news article. See endpoint `/news/publisher/list` for valid values. properties: ids: type: array nullable: false items: type: number format: id32 x-positive: true minItems: 1 maxItems: 100 uniqueItems: true description: Identifiers of the publishers. language: type: object x-property-sort: - ids description: Filter for specific languages of the news article. See endpoint `/basic/language/list` for valid values. properties: ids: type: array nullable: false items: type: number format: id32 x-positive: true minItems: 1 maxItems: 100 uniqueItems: true description: Identifiers of the languages. types: type: object x-property-sort: - ids description: Filter for specific types of the news article. See endpoint `/news/article/type/list` for valid values. properties: ids: type: array nullable: false items: type: number format: id32 x-positive: true minItems: 1 maxItems: 100 uniqueItems: true description: Identifiers of the article types. required: - identifier example: example_value meta: type: object description: The meta member contains the meta information of the request. properties: attributes: $ref: '#/components/schemas/AttributesMember' subscription: type: object description: Object defining the subscription attributes. properties: minimumInterval: type: number format: int32 minimum: 0 exclusiveMinimum: false maximum: 5000 exclusiveMaximum: false default: 0 description: Non-negative number of milliseconds to throttle the update rate from 0ms to 5000ms. Set to 0 for sending updates immediately. x-property-sort: - minimumInterval pagination: type: object description: Pagination attributes for the cursor-based pagination strategy. properties: cursor: type: string maxLength: 50 exclusiveMaximum: false description: Starting point as returned in the attributes `pagination.next` or `pagination.previous` by a prior invocation of this endpoint, or undefined (default). limit: type: number format: int32 minimum: 1 exclusiveMinimum: false maximum: 500 exclusiveMaximum: false default: 20 description: Non-negative maximum number of entries to return. x-property-sort: - cursor - limit x-property-sort: - attributes - subscription - pagination example: example_value StatusObject: type: object properties: code: type: number format: int32 description: The HTTP status code of the response, mirroring the code from the Status-Line of the HTTP response message (see [RFC2616] section 6.1). example: 42.5 description: The status member contains the status code of the response. required: - code 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-benchmarks/v1/{endpoint} 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 indexSnapshot: title: Index Snapshot Object type: object properties: fsymId: type: string description: Requested Identifier. Must be a valid Benchmark Identifier recognized by FactSet. example: SP50 nullable: true date: description: The respective date for values as of the date requested in YYYY-MM-DD format. type: string format: date example: '2020-07-01' nullable: true name: description: Proper Name of Index. type: string example: S&P 500 nullable: true constituentNumber: description: The total number of constituents as of the date requested. type: integer example: 502 nullable: true currency: description: Currency Code used in adjustments. If no Currency was requested, the service will default to the local Calendar. type: string example: USD nullable: true marketValue: description: Index Level Market Capitalization as of the date requested expressed in millions. type: number format: double example: 27696158.012077 nullable: true price: description: Index Level Price type: number format: double example: 3349.15600690205 nullable: true priceReturnPercent1D: description: Index Level Price - 1 Day percent change type: number format: double example: 0.642620385795123 nullable: true priceReturnPercentQTD: description: Index Level Price - Quarter-to-Date percent change type: number format: double example: 8.02735451465131 nullable: true priceReturnPercentYTD: description: Index Level Price - Year-to-Date percent change type: number format: double example: 3.66394447660916 nullable: true totalReturnLevel: description: Index Level Total Return Amount. (Gross or Net depends on requested returnType) type: number format: double example: 6870.86168040129 nullable: true totalReturnPercent1D: description: Index Level Total Return - 1 Day percent change. (Gross or Net depends on requested returnType) type: number format: double example: 0.653957589855003 nullable: true totalReturnPercentQTD: description: Index Level Total Return - Quarter-to-Date percent change. (Gross or Net depends on requested returnType) type: number format: double example: 8.17415047623613 nullable: true totalReturnPercentYTD: description: Index Level Total Return - Year-to-Date percent change. (Gross or Net depends on requested returnType) type: number format: double example: 4.84152796547426 nullable: true returnType: description: The requested Return Type - GROSS or NET type: string example: GROSS nullable: true requestId: type: string description: Benchmark Identifier specified in the request example: SP50 hedgeType: title: Hedge Type type: string enum: - UNHEDGED - HEDGED default: UNHEDGED description: The hedge type adjustment used in returns response items. Adjustment can be made for HEDGED and UNHEDGED values that will be included in the return calculation. The service weill default to UNHEDGED. example: UNHEDGED indexHistoryRequest: type: object title: Index History Request properties: ids: $ref: '#/components/schemas/indexIds' startDate: $ref: '#/components/schemas/startDate' endDate: $ref: '#/components/schemas/endDate' frequency: $ref: '#/components/schemas/frequency' returnType: $ref: '#/components/schemas/returnType' hedgeType: $ref: '#/components/schemas/hedgeType' currency: $ref: '#/components/schemas/currency' calendar: $ref: '#/components/schemas/calendar' impliedDate: $ref: '#/components/schemas/impliedDate' required: - ids indexHistoryResponse: title: Index History Response type: object properties: data: description: 'Array of Index History response objects. ' type: array items: $ref: '#/components/schemas/indexHistory' example: [] startDate: title: Start Date type: string description: Requested start date expressed in YYYY-MM-DD format. example: '2018-12-31' currency: title: Currency type: string description: Currency for response. example: USD indexSnapshotResponse: title: Index Snapshot Response type: object properties: data: description: 'Array of index snapshot response objects. ' type: array items: $ref: '#/components/schemas/indexSnapshot' example: [] returnType: title: Return Type type: string enum: - GROSS - NET default: GROSS description: The return type adjustment used in returns response items. Adjustment can be made for GROSS and NET dividends that will be included in the return calculation. The service will default to GROSS. example: GROSS indexHistory: title: Index History Object type: object properties: fsymId: type: string description: Requested Identifier. Must be a valid Benchmark Identifier recognized by FactSet. example: SP50 nullable: true date: description: The respective date for values as of the date requested in YYYY-MM-DD format. type: string format: date example: '2020-07-01' nullable: true name: description: Proper Name of Index. type: string example: S&P 500 nullable: true constituentNumber: description: The total number of constituents as of the date requested. type: integer example: 502 nullable: true currency: description: Currency Code used in adjustments. If no Currency was requested, the service will default to LOCAL ('LOC'). type: string example: USD nullable: true marketValue: description: Index Level Market Capitalization as of the date requested expressed in millions. type: number format: double example: 27696158.012077 nullable: true price: description: Index Level Price type: number format: double example: 3349.15600690205 nullable: true priceReturnPercent: description: Index Level Price Percent Change type: number format: double example: 0.642620385795123 nullable: true totalReturnLevel: description: Index Level Total Return Amount type: number format: double example: 6870.86168040129 nullable: true totalReturnPercent: description: Index Level Total Return Percent Change type: number format: double example: 0.653957589855003 nullable: true returnType: description: The requested Return Type - GROSS or NET type: string example: GROSS nullable: true hedgeType: description: The requested Hedge Type - HEDGED or UNHEDGED type: string example: UNHEDGED nullable: true requestId: type: string description: Benchmark Identifier specified in the request example: SP50 observationDate: description: This field will always return the date of the data that was actually returned. type: string example: '2020-07-21' nullable: true frequency: title: Frequency type: string enum: - D - W - M - AM - CQ - AY - CY default: CY 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 * **M** = Monthly, based on the last trading day of the month.\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 * **CQ** = Quarterly based on the last trading day of the calendar quarter (March, June, September, or December).\n * **AY** = Actual Annual, based on the start date.\n * **CY** = Calendar Annual, based on the last trading day of the calendar year.\n" example: CY CursorBasedPaginationOutputObjectWithoutTotal: type: object description: Pagination attributes for the cursor-based pagination strategy; a total element count is not supported. properties: next: type: string description: The next cursor position to use in the parameter `pagination.cursor` for an endpoint that supports cursor-based pagination, otherwise `null`. example: example_value previous: type: string description: The previous cursor position to use in the parameter `pagination.cursor` for an endpoint that supports cursor-based pagination. If a previous cursor position is not supported or available, `previous` is `null`. example: example_value required: - next - previous x-property-sort: - next - previous examples: badRequestInvalidParameters: summary: Bad Request - Passing invalid Benchmark Identifier description: This error message occurs when user is passing Invalid Identifier. Please use the helper endpoint */id-list* for sample Benchmark Identifiers. value: status: Forbidden timestamp: '2020-07-10 15:01:43.634' path: /factset-benchmarks/v1/constituents message: User is not authorized for the id requested, please reach out to FactSet for support subErrors: null badRequestMoreThanOneBenchmarkIdentifier: summary: Bad Request - More Than One Benchmark Identifier description: This error message occurs when user is passing more than one identifier as an input. value: status: Bad Request timestamp: '2020-07-02 12:37:52.731' path: /factset-benchmarks/v1/constituents message: You submitted 2 ids. The max number of ids you may submit is 1. Please try again with fewer ids. 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: '2020-07-02 11:52:36.464' path: /factset-benchmarks/v1/{endpoint} message: 'The date parameter 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-benchmarks/v1/{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: '2020-07-02 09:42:27.237' path: /factset-benchmarks/v1/{endpoint} message: text/html media type is not supported. Supported media types are application/json subErrors: null resultofIndexSnapshotMultiple: summary: Index Snapshot of Prices and Returns for Two Companies as of 2020-08-06 description: The Price and Returns of S&P 500 and Russell 3000 as of 2020-08-06 value: data: - constituentNumber: 505 currency: LOCAL date: '2020-08-06' fsymId: SP50 marketValue: 27696158.012077 name: S&P 500 price: 3349.15600690205 priceReturnPercent1D: 0.642620385795123 priceReturnPercentQTD: 8.02735451465131 priceReturnPercentYTD: 3.66394447660916 requestId: SP50 returnType: GROSS totalReturnLevel: 6870.86168040129 totalReturnPercent1D: 0.653957589855003 totalReturnPercentQTD: 8.17415047623613 totalReturnPercentYTD: 4.84152796547426 - constituentNumber: 3000 currency: LOCAL date: '2020-08-06' fsymId: R.3000 marketValue: 32954409.7735481 name: Russell 3000 price: 3596.989378 priceReturnPercent1D: 0.502392266457519 priceReturnPercentQTD: 8.22378331718046 priceReturnPercentYTD: 3.47683663855225 requestId: R.3000 returnType: GROSS totalReturnLevel: 10597.086657 totalReturnPercent1D: 0.513265793869122 totalReturnPercentQTD: 8.35826463942657 totalReturnPercentYTD: 4.59191053652597 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-benchmarks/v1/{endpoint} message: Unexpected error subErrors: null resultofIndexHistoryMultiple: summary: Index History Prices and Returns for Two Companies over two days description: The Price and Returns history for the S&P 500 and Russell 3000 from 2020-08-05 to 2020-08-06 value: data: - currency: LOCAL date: '2020-08-05' fsymId: SP50 marketValue: 27519313.2948137 name: S&P 500 price: 3327.77107160334 priceReturnPercent: 0.643080929116979 requestId: SP50 returnType: GROSS hedgeType: UNHEDGED totalReturnLevel: 6826.22108948631 totalReturnPercent: 0.643080929117001 observationDate: '2020-08-05' - currency: LOCAL date: '2020-08-06' fsymId: SP50 marketValue: 27696158.012077 name: S&P 500 price: 3349.15600690205 priceReturnPercent: 0.642620385795123 requestId: SP50 returnType: GROSS hedgeType: UNHEDGED totalReturnLevel: 6870.86168040129 totalReturnPercent: 0.653957589855003 observationDate: '2020-08-06' - currency: LOCAL date: '2020-08-05' fsymId: R.3000 marketValue: 32788760.7030179 name: Russell 3000 price: 3579.008715 priceReturnPercent: 0.751585489130235 requestId: R.3000 returnType: GROSS hedgeType: UNHEDGED totalReturnLevel: 10542.973182 totalReturnPercent: 0.751900743100942 observationDate: '2020-08-05' - currency: LOCAL date: '2020-08-06' fsymId: R.3000 marketValue: 32954409.7735481 name: Russell 3000 price: 3596.989378 priceReturnPercent: 0.502392266457519 requestId: R.3000 returnType: GROSS hedgeType: UNHEDGED totalReturnLevel: 10597.086657 totalReturnPercent: 0.513265793869122 observationDate: '2020-08-06' 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: '2020-07-02 16:18:38.949' path: /factset-benchmarks/v1/{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 date 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-30 13:38:36.528' path: /factset-benchmarks/v1/{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/ID which 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-07-02 17:21:52.197' path: /factset-benchmarks/v1/{endpoint} message: User is not authorized for the id requested, please reach out to FactSet for support 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: '2020-07-02 16:08:07.945' path: /factset-benchmarks/v1/{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: '2020-07-02 11:59:09.649' path: /factset-benchmarks/v1/{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-30 13:22:09.053' path: /factset-benchmarks/v1/{endpoint} message: The parameter 'ids' is required and may not be empty. subErrors: null 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 - Unsupported Media Type: $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 - forbidden: $ref: '#/components/examples/forbidden' PostNewsArticleListByIndex200Response: description: Successful Response content: application/json: schema: type: object properties: data: type: object properties: identifiers: nullable: false description: List of identifiers that resolve to index notations, and their type. type: array items: type: object nullable: false x-property-sort: - idNotation - sourceIdentifier - status properties: idNotation: nullable: true type: string format: id64 x-positive: true description: MDG identifier of the listing. sourceIdentifier: nullable: true type: string description: Identifier used in the request. status: nullable: false type: object x-property-sort: - code - identifier - details - encryptedDetails description: Error status for the requested identifier. properties: code: nullable: true type: string description: Code of the error condition. x-enum-description: - No error. - The provided identifier does not refer to a valid listing level identifier. - Not entitled to see data for the identifier. - Unable to resolve the provided identifier. enum: - none - parameter - entitlement - identifierMapping identifier: nullable: true type: string description: Provided identifier. details: nullable: true type: string description: A human-readable, unstructured explanation specific to this occurrence of the problem. encryptedDetails: nullable: true type: string description: Base64-encoded internal details about the error. articles: nullable: false description: News articles that match the filter criteria ordered by descending article time. type: array items: type: object nullable: false x-property-sort: - code - time - headline - summary - types - language - distributor - publisher - categories - chain - instruments properties: code: nullable: true description: Identifier of the news article. type: string time: nullable: true x-pushable: true description: Date and time of the news article. type: string format: datetime headline: nullable: true x-pushable: true description: Headline of the news article represented as text with HTML entity encoding but without HTML tags. type: string summary: nullable: true x-pushable: true description: Textual summary of the body of the news article or `null` if no summary was provided by the news article distributor. type: string types: nullable: false description: Types of news article. See endpoint `/news/article/type/list` for possible values. type: array items: type: object nullable: false x-property-sort: - id properties: id: nullable: true description: Identifier of the type of news article. type: number format: id32 x-positive: true language: nullable: false description: Language of the news article. See endpoint `/basic/language/list` for possible values. type: object x-property-sort: - id properties: id: nullable: true description: Identifier of the language. type: number format: id32 x-positive: true distributor: nullable: false description: Distributor of the news article. See endpoint `/news/distributor/list` for possible values. type: object x-property-sort: - id properties: id: nullable: true description: Identifier of the distributor. type: number format: id32 x-positive: true publisher: nullable: false description: Publisher of the news article. See endpoint `/news/publisher/list` for possible values. type: object x-property-sort: - id properties: id: nullable: true description: Identifier of the publisher. type: number format: id32 x-positive: true categories: nullable: false description: Categories related to the news article. See endpoint `/category/list` for possible values. type: array items: type: object nullable: false x-property-sort: - id properties: id: nullable: true x-pushable: true description: Identifier of the category. type: number format: id32 x-positive: true chain: nullable: false description: Article chain. type: object x-property-sort: - id properties: id: nullable: true x-pushable: true description: Identifier of the news article chain. type: string format: id64 x-positive: true instruments: nullable: false description: Set of stock instruments related to the article. The set is not updated in the course of corporate actions, e.g. when the related company obtains a new instrument after a spin-off. type: array items: type: object nullable: false x-property-sort: - id - fsym properties: id: nullable: true x-pushable: true description: Identifier of the instrument. type: string format: id64 x-positive: true fsym: nullable: false type: object x-property-sort: - security description: Instrument-level FactSet identifier of the financial instrument used primarily in FactSet products other than the MDG. properties: security: nullable: false type: object x-property-sort: - permanentIdentifier description: Security-level identifier. properties: permanentIdentifier: nullable: true x-pushable: true description: FactSet Permanent Identifier for an instrument. The format is six alpha numeric characters, excluding vowels, with an S suffix (XXXXXX-S). type: string description: News articles for instruments that are constituents of the given indices. nullable: false x-property-sort: - identifiers - articles meta: type: object description: The meta member contains the meta information of the response. properties: status: $ref: '#/components/schemas/StatusObject' pagination: $ref: '#/components/schemas/CursorBasedPaginationOutputObjectWithoutTotal' x-property-sort: - status - pagination x-property-sort: - data - meta '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 - More Than One Benchmark Identifier: $ref: '#/components/examples/badRequestMoreThanOneBenchmarkIdentifier' Bad Request - Malformed JSON: $ref: '#/components/examples/badRequestMalformedJSON' Bad Request - Read Timeout: $ref: '#/components/examples/badRequestReadTimeout' parameters: frequency: name: frequency in: query schema: type: string enum: - D - W - M - AM - CQ - AY - CY 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 * **M** = Monthly, based on the last trading day of the month.\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 * **CQ** = Quarterly based on the last trading day of the calendar quarter (March, June, September, or December).\n * **AY** = Actual Annual, based on the start date.\n * **CY** = Calendar Annual, based on the last trading day of the calendar year.\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 Monthly: summary: M - Monthly - based on the last trading day of the month. value: M 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 Calendar Quarterly: summary: CQ - Calendar Quarterly - based on the last day of the week of the startDate value: CQ Actual Annual: summary: AY - Actual Annual - based on the startDate value: AY Calendar Annual: summary: CY - Calendar Annual - based on the last trading day of the calendar year. value: CY returnType: name: returnType in: query required: false schema: type: string enum: - GROSS - NET default: GROSS description: The return type adjustment used in returns response items. Adjustment can be made for GROSS and NET dividends that will be included in the return calculation. The service will default to GROSS. hedgeType: name: hedgeType in: query required: false schema: type: string enum: - UNHEDGED - HEDGED default: UNHEDGED description: The hedge type adjustment used in returns response items. Adjustment can be made for HEDGED and UNHEDGED values that will be included in the return calculation. The service will default to UNHEDGED. startDate: name: startDate in: query required: false schema: type: string description: Requested start date expressed in YYYY-MM-DD format. endDate: name: endDate in: query required: false schema: type: string description: Requested End Date for Range expressed in YYYY-MM-DD format. requestedDate: name: date in: query required: false schema: type: string description: Date of holding expressed in YYYY-MM-DD format. currency: name: currency in: query required: false schema: type: string description: Currency for response. calendar: name: calendar in: query schema: type: string enum: - FIVEDAY - SEVENDAY default: FIVEDAY description: Calendar of data returned. SEVENDAY includes weekends. example: FIVEDAY indexIds: name: ids in: query required: true explode: false schema: type: array items: type: string minItems: 1 maxItems: 500 description: Benchmark Identifiers. Reference the helper endpoint **/id-list** to get a sample list of valid identifiers.
***ids limit** = 500 per request*
*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, its advised for any requests with large request lines to be requested through the respective "POST" method.
* impliedDate: name: impliedDate in: query required: false schema: type: string enum: - Y - N default: N description: This parameter controls the **date** returned in the date field. The default value is **N**. By default, the date field returns the actual date of the observation. This means it will repeat values for weekends and holidays. If set to **Y**, the date field will return the implied date of the observation, making all the dates unique. securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation