openapi: 3.0.3 info: title: Factset Analytics Datastore About Refresh 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: Refresh paths: /refresh/calculate: post: summary: Factset Upload a spreadsheet file description: Upload a spreadsheet file (in the Open Office XML format) for FactSet to refresh. tags: - Refresh operationId: postWorkbook parameters: - name: nowHandlingEnabled description: Return \#VALUE for =FDS codes dependent on NOW(). Default is true. For more information on volatile code handling, see Online Assistant https://my.apps.factset.com/oa/pages/16118. in: query schema: type: boolean - name: refreshAutoFilters description: Option to refresh =FDS codes within autofilters. Codes that are filtered out will not be refreshed, unless this option is set to true. Default is false. For more information, see Online Assistant https://my.apps.factset.com/oa/pages/21084#fds in: query schema: type: boolean - name: resizeArrays description: Option to allow automatic array-resizing, which allows you to return a time series of data without manually setting an array. Default is true. For more information, see Online Assistant https://my.apps.factset.com/oa/pages/21084#fds in: query schema: type: boolean requestBody: content: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: schema: $ref: '#/components/schemas/SpreadsheetFile' required: true responses: '202': description: Accepted content: application/json: schema: $ref: '#/components/schemas/JobStatus' headers: Location: description: Relative URL to check status of the request. schema: type: string '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Errors' '403': description: Forbidden. The user's subscription is missing required CACCESS. content: application/json: schema: $ref: '#/components/schemas/Errors' '413': description: File Too Large. Currently only accepting files up to 50MB. content: application/json: schema: $ref: '#/components/schemas/Errors' '429': $ref: '#/components/responses/429' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Errors' /refresh/{id}/status: get: summary: Factset Get the status of the refresh job with the given resource ID description: Check the status of the given job by the resource ID operationId: getStatusById tags: - Refresh parameters: - $ref: '#/components/parameters/ResourceId' responses: '201': description: Created (the calculated workbook is ready to be retrieved) content: application/json: schema: $ref: '#/components/schemas/JobStatus' headers: Location: description: Relative URL to the calculated file schema: type: string '202': description: Accepted (resource not ready yet) content: application/json: schema: $ref: '#/components/schemas/JobStatus' headers: Location: description: Relative URL to check status of the request. schema: type: string '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Errors' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Errors' '422': description: Failed to refresh file content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Errors' /refresh/{id}: get: summary: Factset Retrieve a calculated file by resource ID. description: If the requested job is complete, the calculated file will be returned. tags: - Refresh operationId: getFileById parameters: - $ref: '#/components/parameters/ResourceId' responses: '200': description: Expected response; body will contain calculated file content: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet: schema: $ref: '#/components/schemas/SpreadsheetFile' headers: Content-Disposition: description: Standard HTTP header. Content is expected to be displayed as an attachment. schema: type: string Content-Type: description: Standard HTTP header. The file format type. schema: type: string Transfer-Encoding: description: Standard HTTP header. Header value will be set to Chunked if Accept-Encoding header is specified. schema: type: string '202': description: Accepted (resource not ready yet) content: application/json: schema: $ref: '#/components/schemas/JobStatus' headers: Location: description: Relative URL to check status of the request. schema: type: string '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Errors' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Errors' '422': description: Failed to refresh file content: application/json: schema: $ref: '#/components/schemas/Errors' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Errors' components: parameters: ResourceId: name: id in: path description: Unique identifier for the job (resource ID returned from FactSet). required: true schema: type: string format: uuid schemas: JobStatus: type: object properties: data: type: object properties: id: type: string description: Unique identifier for the job (resource ID returned from FactSet). status: type: string description: the status of the job enum: - queued - executing - created - failed - cancelled error: $ref: '#/components/schemas/Error' ErrorCode: description: Factset API specific error codes enum: - notAuthenticated - notAuthorized - notFound - parameterError - requestBodyInvalid - endpointNotFound - genericServerError - quantityLimitsExceeded type: string Error: type: object description: The response returned for an unsuccessful request. properties: id: description: A unique ID for the occurrence of the error. It is advised to log this code and include it if you contact FactSet support desk. type: string code: $ref: '#/components/schemas/ErrorCode' title: description: a description of the error type: string Errors: type: object properties: errors: type: array items: $ref: '#/components/schemas/Error' SpreadsheetFile: description: An Open Office XML spreadsheet file. type: string format: binary responses: '429': description: Limit Exceeded headers: X-FactSet-Api-RateLimit-Limit: description: Number of allowed requests for the time window. schema: type: string X-FactSet-Api-RateLimit-Limit-Remaining: description: Number of requests left for the time window. schema: type: string X-FactSet-Api-RateLimit-Limit-Reset: description: Number of seconds remaining till rate limit resets. schema: type: string securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation