openapi: 3.0.3 info: title: Factset Analytics Datastore About Focus 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: Focus paths: /factset-rbics/v1/entity-focus: get: summary: Factset Get Rbics Classification for the Focus Industry description: "Gets RBICS classifications for the Focus industry for a short list of companies. Full history is included if _date_ parameter is not specified.\n \n RBICS Focus offers a single-sector mapping of about 48,000 of the most liquid and publicly-traded companies based on their primary lines of business; it uses revenues as the key factor in determining\na companys primary line of business, by mapping a company to the lowest-level sector from which it derives 50% or more of its revenues.\n\n The RBICS Extended Universe Industry Group is not currently supported through the RBICS API. \n" tags: - Focus operationId: getRbicsEntityFocus parameters: - $ref: '#/components/parameters/ids' - $ref: '#/components/parameters/date' - $ref: '#/components/parameters/levels' - $ref: '#/components/parameters/includeNames' responses: '200': description: Successful Response producing an array of Entity Focus Objects content: application/json: schema: $ref: '#/components/schemas/entityFocusResponse' examples: RBICS Classifications for Single Id with Names: $ref: '#/components/examples/rbicsAllLevels' '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 Get Rbics Classification for the Focus Industry description: "Gets RBICS classifications for the Focus industry for a long list of companies. Full history is included if _date_ parameter is not specified.\n \n RBICS Focus offers a single-sector mapping of about 48,000 of the most liquid and publicly-traded companies based on their primary lines of business; it uses revenues as the key factor in determining\na companys primary line of business, by mapping a company to the lowest-level sector from which it derives 50% or more of its revenues.\n\n The RBICS Extended Universe Industry Group is not currently supported through the RBICS API. \n" tags: - Focus operationId: getRbicsEntityFocusForList requestBody: required: true description: Request Body to request a list of RBICS Entity Focus objects. content: application/json: schema: $ref: '#/components/schemas/entityFocusRequest' responses: '200': description: Successful Response producing an array of Entity Focus Objects content: application/json: schema: $ref: '#/components/schemas/entityFocusResponse' examples: RBICS Classifications for Single Id with Names: $ref: '#/components/examples/rbicsAllLevels' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: examples: badRequestInvalidParameters: summary: Bad Request - Passing Invalid Parameter description: This error message occurs when user is passing an Invalid Parameter value: status: Bad Request timestamp: '2020-07-23 11:03:40.765' path: /factset-rbics/v1/{endpoint} message: 'Invalid Parameter (s): fakeParameter. Please modify your request to use parameters outlined in the specification for this endpoint.' subErrors: null badRequestDateFormat: summary: Bad Request - Date Format description: This bad request occurs when a request doesn't use the YYYY-MM-DD in the date parameters. To resolve, convert your date to YYYY-MM-DD. value: status: Bad Request timestamp: '2020-07-02 11:52:36.464' path: /factset-rbics/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: '2020-07-02 09:48:29.18' path: /factset-rbics/v1/{endpoint} message: Error writing JSON output subErrors: null rbicsAllLevels: summary: All Levels and Name for Single Id description: Fetch the full historical RBICS Classifications Ids for Apple, with Names and Description. value: data: - requestId: AAPL fsymId: 000C7F-E firstDate: '2003-04-03T00:00:00.0000000+00:00' lastDate: '2004-10-23T00:00:00.0000000+00:00' l1Id: '55' l1Name: Technology l2Id: '5515' l2Name: Hardware l3Id: '551520' l3Name: Computer Hardware and Storage l4Id: '55152015' l4Name: Computer Systems l5Id: '5515201520' l5Name: Other Computer Systems l6Id: '551520152010' l6Name: Other Computer Systems l6Description: The Systems subsector consists of very small to large-scale computer systems. These systems include a CPU and utilize either, or both, internal and/or external input and output peripherals. - requestId: AAPL fsymId: 000C7F-E firstDate: '2004-10-23T00:00:00.0000000+00:00' lastDate: '2008-08-26T00:00:00.0000000+00:00' l1Id: '55' l1Name: Technology l2Id: '5515' l2Name: Hardware l3Id: '551520' l3Name: Computer Hardware and Storage l4Id: '55152015' l4Name: Computer Systems l5Id: '5515201515' l5Name: Multi-Type Business and Personal Systems l6Id: '551520151510' l6Name: Multi-Type Business and Personal Systems l6Description: Computer systems designed for personal, home and office use. This sector is comprised of the complete spectrum of common computing systems, from desktop systems, notebooks and handhelds, to workstations and servers. - requestId: AAPL fsymId: 000C7F-E firstDate: '2008-08-26T00:00:00.0000000+00:00' lastDate: '2016-09-07T14:00:00.0000000+00:00' l1Id: '55' l1Name: Technology l2Id: '5515' l2Name: Hardware l3Id: '551520' l3Name: Computer Hardware and Storage l4Id: '55152025' l4Name: General Computer Hardware l5Id: '5515202515' l5Name: Diversified Technology Hardware l6Id: '551520251510' l6Name: Diversified Technology Hardware l6Description: The Hardware sector is comprised of all electronic system products. In general - requestId: AAPL fsymId: 000C7F-E firstDate: '2016-09-07T14:00:00.0000000+00:00' lastDate: null l1Id: '55' l1Name: Technology l2Id: '5515' l2Name: Hardware l3Id: '551515' l3Name: Communications Equipment l4Id: '55151545' l4Name: Wireless Mobile Equipment l5Id: '5515154530' l5Name: Smart Phone Manufacturing l6Id: '551515453010' l6Name: Smart Phone Manufacturing l6Description: Integrated cellular communications devices with features such as advanced messaging, built-in camera and/or video recorder, web browsing, multimedia playback. 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-rbics/v1/{endpoint} message: text/html media type is not supported. Supported media types are application/json. subErrors: null generalException: summary: Internal Server Error - General Exception description: This is the most general error that can be returned to by the service. Please `Report Issue` to FactSet. value: status: Internal Server Error timestamp: '2020-07-02 10:36:01.944' path: /factset-rbics/v1/{endpoint} message: Unexpected error subErrors: null badRequestReadTimeout: summary: Bad Request - Read Timeout description: This error may be returned if it takes more than 29 seconds to hear back from the data fetch service. value: status: Bad Request timestamp: '2020-07-02 16:18:38.949' path: /factset-rbics/v1/{endpoint} message: The request took too long. Try again with a smaller request. 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-rbics/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-rbics/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-rbics/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-rbics/v1/{endpoint} message: The parameter 'ids' is required and may not be empty. subErrors: null parameters: ids: name: ids description: "List of Company identifiers. Accepted identifiers include Ticker-Exchange, Ticker-Regions, CUSIPs, ISINs, SEDOLs, or FactSet Permanent Ids, such as -R, -L, or -E.

**ids limit = 2500 per request**

\n 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\nline limit of 8KB, its advised for any requests with large request lines to be requested through the respective \"POST\" method.

\n" in: query required: true schema: type: array items: type: string example: IBM-US minItems: 1 maxItems: 2500 explode: false example: - AAPL-US - 0FPWZZ-E - TSLA-US levels: name: levels description: List of RBICS industry levels to include in the response. **By default if left blank, all levels are returned.** in: query explode: false schema: type: array items: type: integer minimum: 1 maximum: 6 maxItems: 6 uniqueItems: true example: - 1 - 3 - 6 date: name: date description: Effective date for data expressed in YYYY-MM-DD format. If no date is requested, the default behavior is to return the full history for the requested entity. in: query example: '2017-07-24' schema: type: string includeNames: name: includeNames in: query description: Option to include or exclude industry Names and the L6 Description. true = Include Names; false = Exclude Names. schema: type: boolean default: true 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' '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 - Invalid Parameter: $ref: '#/components/examples/badRequestInvalidParameters' Bad Request - Malformed JSON: $ref: '#/components/examples/badRequestMalformedJSON' Bad Request - Read Timeout: $ref: '#/components/examples/badRequestReadTimeout' schemas: ids: title: ids description: 'Security or Entity identifiers. FactSet Identifiers, tickers, CUSIP and SEDOL are accepted input. Max Ids of 2500. ' type: array items: type: string minItems: 1 maxItems: 2500 example: - FDS-US - 0FPWZZ-E - TSLA-US includeNames: type: boolean description: 'Option to include or exclude industry Names and the L6 Description. True = Include Names; False = Exclude Names. ' example: true default: true errorResponse: type: object description: error description 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-rbics/v1/{end-point} 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 entityFocusResponse: title: Entity Focus Response type: object description: Entity Focus Response properties: data: description: Array of Entity Focus Objects type: array items: $ref: '#/components/schemas/entityFocus' example: [] levels: type: array items: type: integer minItems: 0 maxItems: 6 minimum: 1 maximum: 6 uniqueItems: true description: 'List of RBICS industry levels to include in the response. **By default if left blank, all levels are returned.** ' example: - 1 - 3 - 6 entityFocus: title: Entity Focus type: object properties: requestId: description: Company identifier used in request. type: string example: AAPL fsymId: description: FactSet Company identifier being classified. type: string example: 000C7F-E nullable: true firstDate: description: First date of the classification. type: string format: datetime example: '2008-08-26T00:00:00.000' nullable: true lastDate: description: Date when the classification became no longer valid. type: string format: datetime example: '2016-09-07T14:00:00.000' nullable: true additionalProperties: true required: - requestId - fsymId - firstDate - lastDate date: type: string description: 'Effective date for data expressed in YYYY-MM-DD format. If no date is requested, the default behavior is to return the full history for the requested entity. ' example: '2020-09-30' entityFocusRequest: title: Entity Focus Request description: Entity Focus Request Body type: object properties: ids: $ref: '#/components/schemas/ids' date: $ref: '#/components/schemas/date' levels: $ref: '#/components/schemas/levels' includeNames: $ref: '#/components/schemas/includeNames' securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation