openapi: 3.0.3 info: title: Factset Analytics Datastore About Files 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: Files paths: /docs-distributor/audio/v1/history-files: get: summary: Retrieve Historical Audio Recordings and Related Metadata Within Factset Coverage. tags: - Files responses: '200': description: Array of presigned downloadable URLs consisting of historical audio recordings with related metadata. content: application/json: schema: $ref: '#/components/schemas/Events-Audio-History' examples: Audio recordings and metadata of 2020: value: data: - year: 2021 fileName: 2021_trimmed.tar.gz fileSize: 191173623046875 trimmed: true url: https://fdss3-cts-data-delivery-prod-1-us-east-1.s3.amazonaws.com/audiofiles/A512D0F2-4549-EC11-8124-8CDCD4AF21E4.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIASXWF7GTDZZHNXO4D%2F20211119%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20211119T143756Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEB4aCXVzLWVhc3QtMSJHMEUCIAZPE65Cyr2GFwHLDFiDWEj3aUW66s6HuKk3vMz7hWR1AiEAiLS3ce5AC1hsDkZWdf9WklbnGoXCD6JMNsYKZLSZtKoqmAII1%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARACGgwxODgzMjAwMDMyNzEiDIEOfxabmh%2FtadnmnirsAToraA%2BQJ8Hmg2YS03b7IpkX6W6FJDjnDJ9M6sCLN7Q0mUT60Jc1OV%2BzuJ5IbCKhZhDV24mKPSPkyYs4Eh1%2Bp5E2YeclzHqSn44zB5g9UkVHP1bCkFCxv12pqhdIJ5NX4xBIPhWfXDQyIFQm%2BstD1FL3AqugJb19s0o79N032dOX1H3wvfqfkP4av9wKYRFhc2yO7qHMLUHmYnL2IAcnGRq5ukvO2%2FIrmGVYTFGr4wAWMDQFZRX6%2FiYvC7V3f3smsoy2jrJ8UDDn599%2BH32Nh%2FKfTO8yYSnt1ky%2FFJb%2FmheEF9PWnf%2FZxuG6o9ajMInX3owGOpoBFurBn4Hwi3d1xuSsXNVMEuSj7vWPV6dc8tSynf8yH7wRVtVyfz%2BnWH4EYPh0l2qeHuGhzAeQtLVfJNApnSVfEeyaGo1DOpieFST9bxhQIBG8ZloD%2FlojRhJT5AEwcRTryXAXWb%2FeuLKcH9izcUGx80wBcc6L8I6YFFFwwqyA4mhhYYMDAL3o3p0QE1Q4s99PDYPR0YCH7UzThg%3D%3D&X-Amz-Signature=4b8ae68420f7cc87da7c7a797f683e85528b6a96add83ce19ba3ffac0359a938 meta: pagination: total: 1 isEstimatedTotal: false limit: 25 offset: 1 partial: isPartial: false '400': description: Bad Request. This can occur for several reasons. Please review the "details" for more details. content: application/json: schema: $ref: '#/components/schemas/Events-Audio-History-400-Response' examples: example-1: value: id: 7af3d86ca5954503b9244f2620fcf5eb code: parameterError title: '[''yr''] is not a valid parameter(s)' details: validParameters: _paginationLimit: - integer from 0 to 500 _paginationOffset: - positive integer year: - positive integer greater than 2010 trimmed: - boolean value '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/Error' examples: example-1: value: id: 7af3d86ca5954503b9244f2620fcf5eb code: notAuthenticated title: There were either no, invalid, or expired credentials present in the request. '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/Error' examples: example-1: value: id: 7af3d86ca5954503b9244f2620fcf5eb code: notAuthorized title: ' {USERNAME}-{SERIAL} does not have permission to use this endpoint.' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: example-1: value: id: 7af3d86ca5954503b9244f2620fcf5eb code: genericServerError title: An unexpected error happened. operationId: get-docs-distributor-audio-v1-history-files description: ' * Returns the **untrimmed** historical audio recordings and related metadata dating back from May 10, 2011 to Sep 30, 2022. * Returns the **trimmed** historical audio recordings and related metadata dating back from May 10, 2011 to Dec 31, 2022. Query parameters can be used to filter and narrow down the results. ' parameters: - $ref: '#/components/parameters/eventspaginationLimit' - $ref: '#/components/parameters/paginationOffset' - $ref: '#/components/parameters/year' - $ref: '#/components/parameters/trimmed' x-microcks-operation: delay: 0 dispatcher: FALLBACK /docs-distributor/audio/v1/list-files: get: summary: Retrieve Latest Audio Recordings and Related Metadata Within Factset Coverage. tags: - Files responses: '200': description: Array of URLs consisting of latest audio recordings and related metadata. content: application/json: schema: $ref: '#/components/schemas/Events-Audio' examples: example-1: value: data: - url: https://fdss3-cts-data-delivery-prod-1-us-east-1.s3.amazonaws.com/audiofiles/A512D0F2-4549-EC11-8124-8CDCD4AF21E4.mp3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIASXWF7GTDZZHNXO4D%2F20211119%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20211119T143756Z&X-Amz-Expires=600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEB4aCXVzLWVhc3QtMSJHMEUCIAZPE65Cyr2GFwHLDFiDWEj3aUW66s6HuKk3vMz7hWR1AiEAiLS3ce5AC1hsDkZWdf9WklbnGoXCD6JMNsYKZLSZtKoqmAII1%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARACGgwxODgzMjAwMDMyNzEiDIEOfxabmh%2FtadnmnirsAToraA%2BQJ8Hmg2YS03b7IpkX6W6FJDjnDJ9M6sCLN7Q0mUT60Jc1OV%2BzuJ5IbCKhZhDV24mKPSPkyYs4Eh1%2Bp5E2YeclzHqSn44zB5g9UkVHP1bCkFCxv12pqhdIJ5NX4xBIPhWfXDQyIFQm%2BstD1FL3AqugJb19s0o79N032dOX1H3wvfqfkP4av9wKYRFhc2yO7qHMLUHmYnL2IAcnGRq5ukvO2%2FIrmGVYTFGr4wAWMDQFZRX6%2FiYvC7V3f3smsoy2jrJ8UDDn599%2BH32Nh%2FKfTO8yYSnt1ky%2FFJb%2FmheEF9PWnf%2FZxuG6o9ajMInX3owGOpoBFurBn4Hwi3d1xuSsXNVMEuSj7vWPV6dc8tSynf8yH7wRVtVyfz%2BnWH4EYPh0l2qeHuGhzAeQtLVfJNApnSVfEeyaGo1DOpieFST9bxhQIBG8ZloD%2FlojRhJT5AEwcRTryXAXWb%2FeuLKcH9izcUGx80wBcc6L8I6YFFFwwqyA4mhhYYMDAL3o3p0QE1Q4s99PDYPR0YCH7UzThg%3D%3D&X-Amz-Signature=4b8ae68420f7cc87da7c7a797f683e85528b6a96add83ce19ba3ffac0359a938 fileName: 835A1FD9-3CE1-EC11-8128-8CDCD4AF21E4.mp3 durationSecs: 5022 endOffsetSeconds: 4379 startOffsetSeconds: 1717 sourceCode: W startTime: '2022-05-31T22:26:58Z' endTime: '2022-05-31T23:50:42Z' uploadTime: '2022-05-31T23:57:01' fileSize: 20090671 reportId: 2666621 ticker: SPWH-US entityId: 0CT2ZZ-E trimmed: false sampleRate: 22 bitrate: 32 audioSourceId: 3256781 meta: sort: - -startDate pagination: total: 1 isEstimatedTotal: false limit: 25 offset: 1 partial: isPartial: false '400': description: Bad Request. This can occur for several reasons. Please review the "details" for more details. content: application/json: schema: $ref: '#/components/schemas/Events-Audio-400-Response' examples: example-1: value: code: parameterError title: uploadTme is not a valid parameter id: 7af3d86ca5954503b9244f2620fcf5eb details: validParameters: _sort: - startDate - -startDate - uploadTime _paginationLimit: - integer from 0 to 500 _paginationOffset: - positive integer reportId: - integer startDate: - integer offset less than 0 - date - datetime endDate: - integer offset less than 0 - date - datetime ids: - comma separated string of tickers or entityIds or combination of both sourceCode: - file source code fileName: - mp3 file name trimmed: - true/false uploadTime: - integer from -1 to -168 audioSourceId: - integer '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/Error' examples: example-1: value: id: 7af3d86ca5954503b9244f2620fcf5eb code: notAuthenticated title: There were either no, invalid, or expired credentials present in the request. '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/Error' examples: example-1: value: id: 7af3d86ca5954503b9244f2620fcf5eb code: notAuthorized title: ' {USERNAME}-{SERIAL} does not have permission to use this endpoint.' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: example-1: value: id: 7af3d86ca5954503b9244f2620fcf5eb code: genericServerError title: An unexpected error happened. operationId: get-docs-distributor-audio-v1-list-files description: Returns the latest audio recordings. Query parameters can be used to filter and narrow down the results. parameters: - schema: type: string enum: - -startDate - uploadTime - startDate default: -startDate in: query name: _sort description: Sorts results in chronological order, reverse chronological order and by uploadTime(latest uploaded first). Results are in reverse chronological order by default. - schema: type: integer format: int32 minimum: 0 maximum: 500 default: 25 in: query name: _paginationLimit description: Specifies the number of results to return per page. [ Min=0 ; Max=500 ] - schema: type: string in: query example: '2022-01-01T00:00:00.000Z' name: startDate description: 'Used in conjuction with endDate. The earliest date of the audio file the API should fetch for (can be in absolute: **YYYY-MM-DD** or relative date: **-1** for yesterday).' - schema: type: integer format: int32 default: 0 in: query name: _paginationOffset description: Specifies the starting point for pagination. This parameter is used to identify the beginning of next set of results. - schema: type: string in: query name: endDate example: '2022-06-01T00:00:00.000Z' description: 'Used in conjuction with startDate. The latest date of the audio file the API should fetch for (can be in absolute: **YYYY-MM-DD** or relative date: **0** for today).' - schema: type: integer format: int32 in: query name: reportId example: 2666621 description: Unique identifier for fetching the audio file for an event. The same ID is used for the transcript of the same event. - schema: type: integer format: int32 in: query name: audioSourceId description: Unique ID for an Internal recording specific to reportID. For example, ReportID X would have multiple recordings from different source (phone or webcast or vendor or replay). One ReportID can have multiple AudioSourceIDs. - schema: type: array items: type: string in: query name: ids explode: false examples: oneId: summary: One identifier value: - SPWH-US noId: summary: No identifier value: [] multipleIds: summary: Multiple Identifiers value: - FDS-US - AAPL-US - MSFT-US description: This parameter filters the results based on ticker-region or Entity ID or the combination of both. A comma is used to separate each identifier. - schema: type: string enum: - P - W - V - F - I - R in: query name: sourceCode description: 'This parameter filters the results based on Source of the Audio file. Below are the descriptions for each Source Code - * P = Phone * W = Webcast * V = Vendor * I = Webcast Replay * F = Flash - identical to webcast; can merge with "W" in the future * R = Replay (Phone Replay)' - schema: type: string in: query name: fileName example: 835A1FD9-3CE1-EC11-8128-8CDCD4AF21E4.mp3 description: This parameter is used to filter the data on based on the file name. - schema: type: boolean in: query name: trimmed description: This parameters helps to search trimmed audio files. - schema: type: integer minimum: -168 maximum: -1 format: int32 in: query name: uploadTime description: 'This parameter filters data based on uploadTime relative to the current time, in hours. For example:- uploadTime = -15 (fetches audio files between 15 hours ago and now) Minimum is 1 hour i.e., uploadTime= -1 Maximum is 1 week/168 hours i.e., uploadTime=-168 While using uploadTime, the startDate and endDate parameters will be ignored.' x-microcks-operation: delay: 0 dispatcher: FALLBACK /analytics/quant/fpe/v1/files/{server}/{file}: post: tags: - Files summary: Factset Starts a File Upload description: This endpoint takes a file and uploads it parameters: - name: server in: path description: The server to upload the file to. Either `interactive` or `batch`. required: true schema: type: string description: The server to upload the file to. Either `interactive` or `batch`. - name: file in: path description: The file name to upload the file to. Existing directory can be specified. required: true schema: type: string description: The file name to upload the file to. Existing directory can be specified. requestBody: content: '*': schema: type: string format: binary responses: '202': description: Expected response, contains the relative URL in the Location header to check the status of the upload. headers: Location: description: Relative URL to check status of the request. schema: type: string description: Relative URL to check status of the request. X-DataDirect-Request-Key: description: FactSet's request key header. schema: type: string description: FactSet's request key header. content: application/json: schema: $ref: '#/components/schemas/FileUploadStatus' '500': description: Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting. headers: X-DataDirect-Request-Key: description: FactSet's request key header. schema: type: string description: FactSet's request key header. '503': description: Request timeout. Retry the request later headers: X-DataDirect-Request-Key: description: FactSet's request key header. schema: type: string description: FactSet's request key header. x-microcks-operation: delay: 0 dispatcher: FALLBACK /analytics/quant/fpe/v1/files/uploads/{id}: get: tags: - Files summary: Factset Get Upload Status by Id description: This is the endpoint to check on the progress of a previous upload request. parameters: - name: id in: path description: From url, provided by location header or response body in the upload start endpoint required: true schema: type: string description: From url, provided by location header or response body in the upload start endpoint responses: '200': description: Expected response. Signals that the upload is finished. headers: Location: description: Relative URL to check status of the request. schema: type: string description: Relative URL to check status of the request. X-DataDirect-Request-Key: description: FactSet's request key header. schema: type: string description: FactSet's request key header. content: application/json: schema: $ref: '#/components/schemas/FileUploadStatus' '202': description: Expected response. Signals that the upload is still in progress. headers: Location: description: Relative URL to check status of the request. schema: type: string description: Relative URL to check status of the request. X-DataDirect-Request-Key: description: FactSet's request key header. schema: type: string description: FactSet's request key header. content: application/json: schema: $ref: '#/components/schemas/FileUploadStatus' '500': description: Server error. Log the X-DataDirect-Request-Key header to assist in troubleshooting. headers: X-DataDirect-Request-Key: description: FactSet's request key header. schema: type: string description: FactSet's request key header. '503': description: Request timeout. Retry the request later headers: X-DataDirect-Request-Key: description: FactSet's request key header. schema: type: string description: FactSet's request key header. x-microcks-operation: delay: 0 dispatcher: FALLBACK /streetaccount/historical/request-files: get: tags: - Files summary: Factset Returns the Jobid description: Give the startDate and endDate parameters as request parameters in the /request-files endpoint, it returns the jobID. startDate and endDate should be in YYYY-MM-DDTHH:MM:SSZ format. This API only supports adhoc requests to retrieve historical files and does not support real-time files and if you interested in require real-time push should consider the other three methods (pushed via SFTP, to QNT account, or your Azure Storage). Per API request able to query till 2 years of data parameters: - name: startDate in: query description: Date from which data is required. Should be YYYY-MM-DDTHH:MM:SSZ format required: true schema: type: string format: date-time - name: endDate in: query description: The date until which the data is to be fetched. Should be YYYY-MM-DDTHH:MM:SSZ format required: true schema: type: string format: date-time responses: '200': description: success content: application/json: schema: $ref: '#/components/schemas/requestfilesResponse' examples: default200ResponseExample: $ref: '#/components/examples/200RequestFilesExample' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/StreetAccountStatus' examples: default400ResponseExample: $ref: '#/components/examples/StreetAccountExample' '401': description: Bad request content: application/json: schema: $ref: '#/components/schemas/StreetAccountStatus' examples: default400ResponseExample: $ref: '#/components/examples/StreetAccount401Example' '403': description: Bad request content: application/json: schema: $ref: '#/components/schemas/StreetAccountStatus' examples: default400ResponseExample: $ref: '#/components/examples/StreetAccount403Example' '500': description: Bad request content: application/json: schema: $ref: '#/components/schemas/StreetAccountStatus' examples: default400ResponseExample: $ref: '#/components/examples/StreetAccount500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /streetaccount/historical/get-files: get: tags: - Files summary: Factset Returns the Streetaccount Xml Files for the Specified Date Range description: Need to plug-in the jobID from /check-status into /get-files endpoint parameters: - name: jobID in: query description: jobID returned by the request-files endpoint to collect the results of the query required: true schema: type: string - name: _paginationLimit in: query description: Specifies the maximum number of results to return per result required: false schema: type: integer - name: _paginationOffset in: query description: Specifies the starting point for pagination. This parameter is used to identify the beginning of next set of results required: false schema: type: integer responses: '200': description: success content: application/json: schema: $ref: '#/components/schemas/getfilesResponse' examples: default200ResponseExample: $ref: '#/components/examples/200GetFilesExample' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/StreetAccountStatus' examples: default400ResponseExample: $ref: '#/components/examples/StreetAccountExample' '401': description: Bad request content: application/json: schema: $ref: '#/components/schemas/StreetAccountStatus' examples: default400ResponseExample: $ref: '#/components/examples/StreetAccount401Example' '403': description: Bad request content: application/json: schema: $ref: '#/components/schemas/StreetAccountStatus' examples: default400ResponseExample: $ref: '#/components/examples/StreetAccount403Example' '500': description: Bad request content: application/json: schema: $ref: '#/components/schemas/StreetAccountStatus' examples: default400ResponseExample: $ref: '#/components/examples/StreetAccount500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /level1/files/create: post: tags: - Files summary: Factset Requests the Creation of Tick-by-tick File operationId: requestTickHistoryLevel1Files description: Data available from 20120101 to previous day. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/leveloneRequest' examples: Single ticker with default all fields for the given period: $ref: '#/components/examples/postBodyOfSingleTicker' Multiple tickers with default all fields for the given period: $ref: '#/components/examples/postBodyAll' Multiple tickers with multiple fields for the given period: $ref: '#/components/examples/postBodyOfMultipleTicker' responses: '202': description: The Request has been Accepted content: application/json: schema: $ref: '#/components/schemas/submittedResponse' examples: default202ResponseExample: $ref: '#/components/examples/sampleFilesResponse' headers: Location: description: Relative location to poll for status schema: type: string X-FactSet-Api-RateLimit-Limit: description: Number of allowed requests for the time window. schema: type: string X-FactSet-Api-RateLimit-Remaining: description: Number of requests left for the time window. schema: type: string X-FactSet-Api-RateLimit-Reset: description: Number of seconds remaining till rate limit resets. schema: type: string '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/400Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/401Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/403Example' '429': description: Too many requests. content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/429Example' '500': description: Internal Error content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /level1/files/status: get: tags: - Files summary: Factset Returns the Status of the Id operationId: getLevel1FileStatus description: Need to plug-in the id get from /create endpoint into /status endpoint parameters: - $ref: '#/components/parameters/requestIdStatus' responses: '201': description: ' The Request has been created and the response has been created. ' content: application/json: schema: $ref: '#/components/schemas/completedResponse' examples: default200ResponseExample: $ref: '#/components/examples/sampleCompletedResponse' headers: Location: description: Relative location to pick up results. schema: type: string example: get?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c '202': description: 'The Request has not finished and the result has NOT been created. ' content: application/json: schema: $ref: '#/components/schemas/submittedResponse' examples: QueuedExample: $ref: '#/components/examples/sampleFilesResponseQueued' ExecutingExample: $ref: '#/components/examples/sampleFilesResponseExecuting' FailedExample: $ref: '#/components/examples/sampleFilesResponseFailed' CancelledExample: $ref: '#/components/examples/sampleFilesResponseCancelled' headers: Location: description: Relative location to poll for status. schema: type: string '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/status' examples: default400ResponseExample: $ref: '#/components/examples/401Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/403Example' '404': description: id not found content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/404Example' '500': description: Internal Error content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /level1/files/get: get: tags: - Files summary: Factset Returns the Tick-by-tick Data in Files Requested in the /create Endpoint operationId: getTickHistoryLevel1Files description: Returns the files from tickhistory endpoint parameters: - $ref: '#/components/parameters/requestId' - $ref: '#/components/parameters/_paginationLimit' - $ref: '#/components/parameters/_paginationOffset' responses: '200': description: Success

**To download the output file copy the response url in a browser** content: application/json: schema: $ref: '#/components/schemas/Get-FilesResponse' examples: default200ResponseExample: $ref: '#/components/examples/sampleGet-FilesResponse' '202': description: 'The Request has not finished and the result has NOT been created. ' content: application/json: schema: $ref: '#/components/schemas/submittedResponse' examples: QueuedExample: $ref: '#/components/examples/sampleFilesResponseQueued' ExecutingExample: $ref: '#/components/examples/sampleFilesResponseExecuting' headers: Location: description: Relative location to poll for status. schema: type: string '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/400Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/401Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/403Example' '404': description: id not found content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/404Example' '500': description: Internal Error content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /level1/files/minute-bars/create: post: tags: - Files summary: Factset Requests the Creation of Minute Bars File operationId: requestMinutebarsFiles description: 1-minute bars available from 20120101 to previous day. Per request able to fetch upto 6 months of data. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/minRequest' examples: Single ticker for the given period: $ref: '#/components/examples/minSingleTicker' Multiple tickers for the given period: $ref: '#/components/examples/minMultipleTicker' responses: '202': description: The Request has been Accepted content: application/json: schema: $ref: '#/components/schemas/submittedResponse' examples: default202ResponseExample: $ref: '#/components/examples/sampleFilesResponse' headers: Location: description: Relative location to poll for status schema: type: string X-FactSet-Api-RateLimit-Limit: description: Number of allowed requests for the time window. schema: type: string X-FactSet-Api-RateLimit-Remaining: description: Number of requests left for the time window. schema: type: string X-FactSet-Api-RateLimit-Reset: description: Number of seconds remaining till rate limit resets. schema: type: string '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/400Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/401Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/403Example' '429': description: Too many requests. content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/429Example' '500': description: Internal Error content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /level1/files/minute-bars/status: get: tags: - Files summary: Factset Returns the Status of the Id operationId: getMinutebarsFileStatus description: Need to plug-in the id get from /create endpoint into /status endpoint parameters: - $ref: '#/components/parameters/requestIdStatus' responses: '201': description: ' The Request has been created and the response has been created. ' content: application/json: schema: $ref: '#/components/schemas/completedResponse' examples: default200ResponseExample: $ref: '#/components/examples/sampleCompletedResponse' headers: Location: description: Relative location to pick up results. schema: type: string example: get?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c '202': description: 'The Request has not finished and the result has NOT been created. ' content: application/json: schema: $ref: '#/components/schemas/submittedResponse' examples: QueuedExample: $ref: '#/components/examples/sampleFilesResponseQueued' ExecutingExample: $ref: '#/components/examples/sampleFilesResponseExecuting' FailedExample: $ref: '#/components/examples/sampleFilesResponseFailed' CancelledExample: $ref: '#/components/examples/sampleFilesResponseCancelled' headers: Location: description: Relative location to poll for status. schema: type: string '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/status' examples: default400ResponseExample: $ref: '#/components/examples/401Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/403Example' '404': description: id not found content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/404Example' '500': description: Internal Error content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /level1/files/minute-bars/get: get: tags: - Files summary: Factset Returns the Minute Bars Data in Files Requested in the /create Endpoint operationId: getMinutebarsFiles description: Returns the files from tickhistory endpoint parameters: - $ref: '#/components/parameters/requestId' - $ref: '#/components/parameters/_paginationLimit' - $ref: '#/components/parameters/_paginationOffset' responses: '200': description: Success

**To download the output file copy the response url in a browser** content: application/json: schema: $ref: '#/components/schemas/Get-FilesMinuteResponse' examples: default200ResponseExample: $ref: '#/components/examples/sampleMinGet-FilesResponse' '202': description: 'The Request has not finished and the result has NOT been created. ' content: application/json: schema: $ref: '#/components/schemas/submittedResponse' examples: QueuedExample: $ref: '#/components/examples/sampleFilesResponseQueued' ExecutingExample: $ref: '#/components/examples/sampleFilesResponseExecuting' headers: Location: description: Relative location to poll for status. schema: type: string '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/400Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/401Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/403Example' '404': description: id not found content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/404Example' '500': description: Internal Error content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /level2/files/create: post: tags: - Files summary: Factset Returns the Id for the Requested Data. operationId: requestTickHistoryLeve2Files description: Data available from past 6 years to previous day. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/levelTwoRequest' examples: Single ticker for the given period: $ref: '#/components/examples/postBodyOfSingleTickerLevel2' Multiple tickers for the given period: $ref: '#/components/examples/postBodyMultipleTickerLevel2' responses: '202': description: 'The Request has been Accepted. ' content: application/json: schema: $ref: '#/components/schemas/submittedResponse' examples: default202ResponseExample: $ref: '#/components/examples/sampleFilesResponse' headers: Location: description: Relative location to poll for status schema: type: string X-FactSet-Api-RateLimit-Limit: description: Number of allowed requests for the time window. schema: type: string X-FactSet-Api-RateLimit-Remaining: description: Number of requests left for the time window. schema: type: string X-FactSet-Api-RateLimit-Reset: description: Number of seconds remaining till rate limit resets. schema: type: string '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/400Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/401Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/403Example' '429': description: Too many requests. content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/429Example' '500': description: Internal Error content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /level2/files/status: get: tags: - Files summary: Factset Returns the Status of the Id operationId: getLevel2FileStatus description: Need to plug-in the id get from /create endpoint into /status endpoint parameters: - $ref: '#/components/parameters/requestIdStatus' responses: '201': description: 'The Request has been created and the response has been created. ' content: application/json: schema: $ref: '#/components/schemas/completedResponse' examples: default200ResponseExample: $ref: '#/components/examples/sampleCompletedResponse' headers: Location: description: Relative location to pick up results schema: type: string example: get?id=2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c '202': description: 'The Request has not finished and the result has NOT been created. ' content: application/json: schema: $ref: '#/components/schemas/submittedResponse' examples: QueuedExample: $ref: '#/components/examples/sampleFilesResponseQueued' ExecutingExample: $ref: '#/components/examples/sampleFilesResponseExecuting' FailedExample: $ref: '#/components/examples/sampleFilesResponseFailed' CancelledExample: $ref: '#/components/examples/sampleFilesResponseCancelled' headers: Location: description: Relative location to poll for status. schema: type: string '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/status' examples: default400ResponseExample: $ref: '#/components/examples/401Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/403Example' '404': description: id not found content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/404Example' '500': description: Internal Error content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK /level2/files/get: get: tags: - Files summary: Factset Returns the Tick History Files Requested in the /create Endpoint operationId: getTickHistoryLevel2Files description: Returns the files from tickhistory endpoint parameters: - $ref: '#/components/parameters/requestId' - $ref: '#/components/parameters/_paginationLimit' - $ref: '#/components/parameters/_paginationOffset' responses: '200': description: Success

**To download the output file copy the response url in a browser** content: application/json: schema: $ref: '#/components/schemas/leveltwoGet-FilesResponse' examples: default200ResponseExample: $ref: '#/components/examples/sampleGet-FilesResponseLevel2' '202': description: ' The Request has not finished and the result has NOT been created. ' content: application/json: schema: $ref: '#/components/schemas/submittedResponse' examples: QueuedExample: $ref: '#/components/examples/sampleFilesResponseQueued' ExecutingExample: $ref: '#/components/examples/sampleFilesResponseExecuting' headers: Location: description: Relative location to poll for status. schema: type: string '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/400Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/401Example' '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/status' examples: default400ResponseExample: $ref: '#/components/examples/403Example' '404': description: id not found content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/404Example' '500': description: Internal Error content: application/json: schema: $ref: '#/components/schemas/status' examples: default400ResponseExample: $ref: '#/components/examples/500Example' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: type: title: type description: '

''type=trades'' gives minute bars data calculated from trade data (price and volume)

' type: string enum: - trades tickers: type: array items: type: string minItems: 1 maxItems: 500 description: "The requested list of one or more tickers.

NOTE: Maximum 500 tickers per request.

.\n \n" example: - FDS errorExample: type: object description: Specifies the fields in the error message properties: code: description: It specifies the unique code type: string example: example_value title: description: ' Specifies the error message' type: string example: Example Title id: description: Specifies the id type: string example: abc123 isPartialOne: title: IsPartialItems description: If the value is true, it indicates additional results are available. False represents that this is the last set of results for this request. type: object properties: isPartial: type: boolean example: true dateTimePeriodMin: type: object description: 'Date-Time ' required: - start - end properties: start: description: 'The date for (or from which) the data is required. Supports in YYYY-MM-DDTHH:MM:SSZ format. ' type: string format: date-time example: '2012-01-01T11:00:00Z' end: type: string format: date-time description: 'The date to which data is required. Supports in YYYY-MM-DDTHH:MM:SSZ format. ' example: '2012-01-30T11:20:30Z' Events-Audio: type: object properties: data: type: array items: type: object properties: url: type: string description: Download link for the audio file. fileName: type: string description: The filename of the audio file. durationSecs: type: number nullable: true description: Total duration of the recording in seconds based on startOffsetSeconds to endOffsetSeconds. endOffsetSeconds: type: number nullable: true description: The delta in seconds between startTime to when FactSet marks the end of the call. startOffsetSeconds: type: number nullable: true description: The delta in seconds between start of audio file to when FactSet marks the beginning of the call. sourceCode: type: string description: 'Identifies the method of how the event is recorded Below are the descriptions for each Source Code - * P = Phone * W = Webcast * V = Vendor * I = Webcast Replay * F = Flash - identical to webcast; can merge with "W" in the future * R = Replay (Phone Replay)' startTime: type: string nullable: true description: 'The official timestamp when FactSet begins the recording. Note:- All the vendor and trimmed files would have default 1900-0101T00:00:00Z time stamp.' endTime: type: string nullable: true description: 'The official timestamp when FactSet ends the recording. Note:- All the vendor and trimmed files would have default 1900-0101T00:00:00Z time stamp.' uploadTime: type: string nullable: true description: The official timestamp when FactSet publishes the audio file externally. fileSize: type: number description: Size of the Audio file, in bytes. reportId: type: integer description: 'The unique ID of the audio file for an event. The same ID is used for the transcript of the same event. This report ID can also be used to map to the Event details in SDF tables.' ticker: type: string nullable: true description: 'Ticker-region identifier for the company hosting the event. Note:- This field can have N/A value when the company is a private(non-equity company)' entityId: type: string description: Factset entity level identifier for the company hosting the event. trimmed: type: boolean description: 'The trimmed attribute helps identify if the audio is the trimmed version. Note:- All the vendor generated files are trimmed regardless of the trimmed attribute value in the response.' sampleRate: type: number nullable: true description: 'The number of samples of audio carried per second in Kbps. Note:- The field can have value as -1 for the audio files without sampleRate metadata' bitrate: type: number nullable: true description: 'The total number of bits of information stored per second of sound in Kbps. Note:- The field can have value as -1 for the audio files without bitrate metadata' audioSourceId: type: integer nullable: true description: 'Unique ID for an Internal recording specific to reportID. For example, ReportID X would have multiple recordings from different source (Phone or Webcast or Vendor or Replay). One ReportID can have multiple AudioSourceIDs. The audioSourceId identifier is available for audio calls since November 29, 2022. Note:- Only un-trimmed audio files contain an audioSourceId value. All the vendor and trimmed audio files will have an audioSourceId value of null.' example: [] meta: type: object properties: sort: type: array description: The value in _sort parameter if used in the request. items: type: string pagination: type: object description: "\t\nList of pagination objects" properties: total: type: integer description: Total number of files the API returns for a particular query. isEstimatedTotal: type: boolean description: Boolean value that represents whether the total count of files returned is exact or an estimate. This is defaulted to False as the API should always return the exact count. limit: type: integer description: Number of results returned per page offset: type: integer description: The flag indicating the position in the results array if additional results are available beyond the default value or the value in paginationLimit parameter (if used). This value is passed in the _paginationOffset parameter to retrieve subsequent results. partial: type: object description: '' properties: isPartial: type: boolean description: If the value is True, it indicates additional results are available. False represents that this is the last set of results for this request. example: example_value StatusOne: type: object description: request-files properties: id: description: a unique identification for the query requested type: string example: abc123 status: description: The status of the query type: string enum: - queued - executing - created - failed - cancelled example: queued error: $ref: '#/components/schemas/ErrorObject' dateTimeRange: $ref: '#/components/schemas/dateTimePeriod' pagination: title: Pagination description: List of pagination objects type: object properties: total: description: Total number of files the API returns for a particular query type: integer example: 10 isEstimatedTotal: description: Boolean value that represents whether the total count of files returned is exact or an estimate. This is defaulted to False as the API should always return the exact count type: boolean example: true requestfilesResponse: type: object properties: jobID: description: Unique id to get the xml files for the requested date type: string example: '500123' status: description: Returns the value as submitted. Tells the request has been submitted type: string example: example_value files: title: Files description: Array of data objects type: object properties: fileName: description: Name of the file(s) generated for the query requested type: string example: example_value url: description: ' Download link for the TickHistory file with requested parameters

This download link will expire after 24 hours

' type: string example: https://www.example.com checkFiles: type: object description: check-files properties: id: description: a unique identification for the query requested type: string example: abc123 status: description: The status of the query type: string enum: - queued - executing - created - failed - cancelled example: queued error: $ref: '#/components/schemas/ErrorObject' leveloneRequest: title: Level1 Request Body description: Level1 request body elements type: object properties: data: $ref: '#/components/schemas/level1RequestBody' required: - data meta: title: Meta description: Array of metadata objects type: object properties: pagination: $ref: '#/components/schemas/pagination' level2RequestBody: title: Level2 Request Body description: Level2 request body elements type: object properties: tickers: $ref: '#/components/schemas/tickers' mic: $ref: '#/components/schemas/mic' dateRange: $ref: '#/components/schemas/dateRange' responseFileType: $ref: '#/components/schemas/responseFileType' required: - tickers - mic - dateRange minRequest: title: Level1 Minute bars Request Body description: Level1 Minute bars request body elements type: object properties: data: $ref: '#/components/schemas/minutesbarRequestBody' required: - data leveltwoGet-FilesResponse: type: object description: Returns Tick History Files properties: data: $ref: '#/components/schemas/TickDataLevel2' meta: $ref: '#/components/schemas/meta' Get-FilesResponse: type: object description: Returns Tick History Files properties: data: $ref: '#/components/schemas/TickData' meta: $ref: '#/components/schemas/meta' FileUploadStatus: properties: id: type: string description: The unique ID for this upload example: abc123 status: type: string enum: - pending - failed - completed - running example: pending fields: type: array items: type: string enum: - TICKER - ISO_CODE - DATE - TIME - MSG_TYPE - SEQUENCE - PRODUCT - BID - BID_TIME - BID_VOL - BID_EXCH - ASK - ASK_TIME - ASK_VOL - ASK_EXCH - LAST_PRICE - LAST_DATE - LAST_TIME - LAST_VOL - LAST_EXCH - MID - MID_TIME - CVOL - CCVOL - VWAP - YIELD_PRICE - BENCHMARK_YIELD - BENCHMARK_SPREAD - CURRENT_YIELD - TRADE_CONDITION - REPORTING_SIDE - ASK_YIELD - BID_YIELD - VENUE - BUY_ID - MID_YIELD - ORDER_CODE - SELL_ID - TRADED_PRICE - TRADED_VOL - TRADED_CONDITION - TRADED_YIELD - ORIG_SEQUENCE - SECURITY_TYPE - SECURITY_STATUS - MSG_BITMASK - ORDER_NUM - ISO description: 'Fields for which data is requested ' example: - ASK filesOne: title: Files description: Array of data objects type: object properties: fileName: description: Name of the file(s) generated for the query requested type: string example: example_value url: description: "Download link for the TickHistory minute bars file with requested parameters. \n\n

The downloaded file contains isoCode, ticker, date, time, tradeOpen, tradeHigh, tradeLow, tradeClose, tradeVolume, tradeNumber, and tradeVWAP

\n \n

This download link will expire after 12 hours.

\n" type: string example: https://www.example.com TickData: type: object title: Tick History Object description: ' Returns Tick History Response.' properties: requestTimestamp: description: Timestamp of when request was made type: string format: date-time example: '2026-01-15T10:30:00Z' updateTimestamp: description: Timestamp when the file was last updated type: string format: date-time example: '2026-01-15T10:30:00Z' notAuthorizedTickers: description: Returns not Authorized Tickers type: array items: type: string example: [] invalidTickers: description: Returns invalid Tickers type: array items: type: string example: [] listOfFiles: type: array description: Contains list of Files items: $ref: '#/components/schemas/files' example: [] StreetAccountStatus: title: Response Status of SA type: object properties: id: type: string example: abc123 error_message: description: Textual error message type: string example: example_value dateRangeOne: type: object description: Date Range properties: start: description: 'The date for (or from which) the data is required. Supports in YYYY-MM-DD format. ' type: string format: date example: '2012-01-01' end: type: string format: date description: 'The date to which data is required. Supports in YYYY-MM-DD format. ' example: '2012-01-30' submittedResponse: type: object title: Status Response description: Returns Status of the id. properties: data: $ref: '#/components/schemas/StatusOne' completedResponse: type: object title: status description: Returns status. properties: data: $ref: '#/components/schemas/checkFiles' Events-Audio-History: type: object properties: data: type: array items: type: object properties: year: type: integer description: The year corresponding to the file containing historical audio recordings that can be downloaded via presigned url. trimmed: type: boolean description: 'True indicates that the pre-signed downloadable URL contains trimmed historical audio recordings and related metadata of a specific year. False indicates that the pre-signed downloadable URL contains untrimmed historical audio recordings and related metadata of a specific year.' fileName: type: string description: The name of the file. fileSize: type: integer description: The size of the file, in bytes. url: type: string description: Pre-signed downloadable URL containing the historical audio recordings and related metadata of a specific year. The pre-signed URL in the response will expire after 3 hours. example: [] meta: type: object properties: pagination: type: object description: "\t\nList of pagination objects" properties: total: type: integer description: Total number of files the API returns for a particular query. isEstimatedTotal: type: boolean description: Boolean value that represents whether the total count of files returned is exact or an estimate. This is defaulted to False as the API should always return the exact count. limit: type: integer description: Number of results returned per page offset: type: integer description: The flag indicating the position in the results array if additional results are available beyond the default value or the value in paginationLimit parameter (if used). This value is passed in the _paginationOffset parameter to retrieve subsequent results. partial: type: object description: '' properties: isPartial: type: boolean description: If the value is True, it indicates additional results are available. False represents that this is the last set of results for this request. example: example_value dateTimePeriod: type: object description: 'Date-Time

NOTE: Using start and end parameters within dateTimeRange will fetch the data on particular days in between the timestamps given.

. ' properties: start: description: 'The date for (or from which) the data is required. Supports in YYYY-MM-DDTHH:MM:SSZ format. ' type: string format: date-time example: '2012-01-01T11:00:00Z' end: type: string format: date-time description: 'The date to which data is required. Supports in YYYY-MM-DDTHH:MM:SSZ format. ' example: '2012-01-30T11:20:30Z' mic: description: 'A four-character code used to identify exchanges in which securities are traded.

**NOTE**:Does not support multiple mic codes

' type: string minItems: 1 maxItems: 1 example: XNYS Error: type: object properties: id: type: string example: abc123 code: type: string example: example_value title: type: string example: Example Title dateRange: $ref: '#/components/schemas/dateRangeOne' status: type: object description: specifies the error message fields in the response properties: errors: type: array description: An array containing errors items: $ref: '#/components/schemas/errorExample' example: [] MinTickData: type: object title: Tick History Object description: ' Returns Tick History Response.' properties: requestTimestamp: description: Timestamp of when request was made type: string format: date-time example: '2026-01-15T10:30:00Z' updateTimestamp: description: Timestamp when the file was last updated type: string format: date-time example: '2026-01-15T10:30:00Z' listOfFiles: type: array description: Contains list of Files items: $ref: '#/components/schemas/filesOne' example: [] getfilesResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/getfiles' example: [] meta: $ref: '#/components/schemas/metaOne' minutesbarRequestBody: title: Level1 Minute bars Request Body description: Level1 Minute bars request body elements type: object properties: tickers: $ref: '#/components/schemas/tickers' factsetExchangeCode: $ref: '#/components/schemas/factsetExchangeCode' dateTimeRange: $ref: '#/components/schemas/dateTimePeriodMin' granularity: $ref: '#/components/schemas/granularity' type: $ref: '#/components/schemas/type' required: - tickers - factsetExchangeCode - dateTimeRange - granularity - type factsetExchangeCode: title: factsetExchangeCode description: 'FactSet specific regional or composite exchange code and last exchange code.

NOTE:Does not support multiple factsetExchangeCodes

. ' type: string minItems: 1 maxItems: 1 example: USA Get-FilesMinuteResponse: type: object description: Returns Tick History Files properties: data: $ref: '#/components/schemas/MinTickData' meta: $ref: '#/components/schemas/meta' TickDataLevel2: type: object description: Returns Tick History Files properties: status: description: The status of the request type: string example: example_value requestTimestamp: description: Timestamp of when request was made type: string format: date-time example: '2026-01-15T10:30:00Z' updateTimestamp: description: :"Timestamp when the file was last updated" type: string format: date-time example: '2026-01-15T10:30:00Z' listOfFiles: type: array description: Data Object items: $ref: '#/components/schemas/files' example: [] ErrorObject: type: object nullable: true description: error properties: id: description: A UUID for this particular occurrence of the problem. type: string example: adb01824-252f-4420-b0c6-35a1e3507ef5 code: description: status type: string example: GenericError title: description: The plain text error message type: string example: Validation Error getfiles: type: object properties: product: description: Defines the name of the product type: string example: example_value startDate: description: The startDate from which the data is required in YYYY-MM-DDTHH:MM:SSZ format type: string format: date example: '2026-01-15' endDate: description: The endDate until which the data is fetched in YYYY-MM-DDTHH:MM:SSZ format type: string format: date example: '2026-01-15' jobID: description: Unique id to get the xml files for the requested date type: string example: '500123' status: description: Defines the status of the request type: string example: example_value url: description: Link to download the zip file which contains xml files type: string example: https://www.example.com part: description: Returns the part number of the jobID type: integer example: 10 paginationOne: title: PaginationItems description: List of pagination objects type: object properties: total: description: Total number of files the API returns for a particular query type: integer example: 10 isEstimatedTotal: description: Boolean value that represents whether the total count of files returned is exact or an estimate. This is defaulted to False as the API should always return the exact count type: boolean example: true limit: description: Number of results returned per page type: integer example: 10 offset: description: The flag indicating the position in the results array if additional results are available beyond the default value or the value in paginationLimit parameter (if used). This value is passed in the _paginationOffset parameter to retreieve subsequent results type: integer example: 10 Events-Audio-History-400-Response: description: '' type: object properties: id: type: string example: abc123 code: type: string example: example_value title: type: string example: Example Title details: type: object properties: validParameters: type: object properties: _paginationLimit: type: array items: type: string _paginationOffset: type: array items: type: string year: type: array items: type: string trimmed: type: array items: type: string example: example_value single: type: boolean description: '

This parameter only works for smaller date/time requests where the file size is upto 128MB.

single=true Returns data in a single file. single=false Returns data in multiple files.

Note: If parameter is not used it take default value as false and returns data in multiple files.

' default: false level1RequestBody: title: Level1 Request Body description: Level1 request body elements type: object properties: tickers: $ref: '#/components/schemas/tickers' factsetExchangeCode: $ref: '#/components/schemas/factsetExchangeCode' dateTimeRange: $ref: '#/components/schemas/dateTimeRange' fields: $ref: '#/components/schemas/fields' single: $ref: '#/components/schemas/single' required: - tickers - factsetExchangeCode - dateTimeRange Events-Audio-400-Response: description: '' type: object properties: code: type: string example: example_value title: type: string example: Example Title id: type: string example: abc123 details: type: object properties: validParameters: type: object properties: _sort: type: array items: type: string _paginationLimit: type: array items: type: string _paginationOffset: type: array items: type: string reportId: type: array items: type: string startDate: type: array items: type: string endDate: type: array items: type: string ids: type: array items: type: string sourceCode: type: array items: type: string fileName: type: array items: type: string trimmed: type: array items: type: string uploadTime: type: array items: type: string audioSourceId: type: array items: type: string example: example_value metaOne: title: Meta description: Array of metadata objects type: object properties: pagination: $ref: '#/components/schemas/paginationOne' partial: $ref: '#/components/schemas/isPartialOne' levelTwoRequest: title: Level2 Request Body description: Level2 request body elements type: object properties: data: $ref: '#/components/schemas/level2RequestBody' required: - data responseFileType: type: string description: Specifies the fileType enum: - csv - parquet default: parquet granularity: title: granularity description: 'This is the grantualrity in which minute bars data is shown. Possible values are 1 Minute (1m) ' type: string enum: - 1m parameters: _paginationLimit: name: _paginationLimit in: query description: Specifies the maximum number of results to return per response page required: false schema: type: integer default: 20 _paginationOffset: name: _paginationOffset in: query description: Specifies the starting point for pagination. This parameter is used to identify the beginning of next set of results required: false schema: type: integer default: 0 trimmed: schema: type: boolean default: false in: query name: trimmed example: true description: Specifies if trimmed/untrimmed historical audio recordings should be returned. requestIdStatus: name: id in: query description: id returned by files create endpoint to poll and collect status of the query required: true schema: type: string eventspaginationLimit: schema: type: integer format: int32 minimum: 0 maximum: 500 default: 25 in: query name: _paginationLimit description: Specifies the number of results to return per page. [ Min=0 ; Max=500 ] paginationOffset: schema: type: integer format: int32 default: 0 in: query name: _paginationOffset description: Specifies the starting point for pagination. This parameter is used to identify the beginning of next set of results. year: schema: type: integer format: int32 in: query name: year example: 2021 description: Specifies the year for which the historical audio recordings and related metadata are to be retrieved. requestId: name: id in: query description: id returned by files create endpoint to poll and collect results of the query required: true schema: type: string examples: sampleFilesResponseExecuting: summary: Status Executing value: data: id: 27b4923f-86dd-4b8b-89ac-dfc3a26fa786 status: executing error: null postBodyOfSingleTicker: summary: Single ticker with defaualt all fields for the given period description: Post body request example to fetch details of the IBM tick data for the period 2023-01-01T00:00:00Z to 2023-01-05T23:59:59Z. value: data: tickers: - IBM factsetExchangeCode: USA dateTimeRange: start: '2023-01-01T00:00:00Z' end: '2023-01-05T23:59:59Z' single: false 401Example: summary: sample error response value: errors: - code: Not Authenticated title: USERNAME-SERIAL does not have permission id: 7af3d86ca5954503b9244f2620fcf5eb sampleFilesResponseFailed: summary: Status Failed value: data: id: 27b4923f-86dd-4b8b-89ac-dfc3a26fa786 status: failed error: id: 2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c code: Geeneric Error title: 'Not a valid request ' sampleFilesResponseCancelled: summary: Status Cancelled value: data: id: 27b4923f-86dd-4b8b-89ac-dfc3a26fa786 status: cancelled error: id: 2df43e85-ea0f-45c6-bf4a-2baf4d1eaa3c code: Error title: Request taking long time 200GetFilesExample: summary: Sample Response value: data: - product: SA startDate: '2021-11-21T00:00:00Z' endDate: '2021-11-28T00:00:00Z' jobID: 9ffa3ffb-0ed3-40a0-a98f-8ed7da0a8ad5 status: completed part: 1 url: https://structured-data-delivery-streetaccount/download/get/link meta: pagination: total: 105 isEstimatedTotal: false limit: 200 offset: 105 partial: isPartial: false StreetAccount403Example: summary: Sample error Response value: id: 0ad3e09c-d8a2-4223-a1a3-0244d1247351 error_message: USERNAME-SERIAL does not have permission sampleMinGet-FilesResponse: summary: sample Response data for Minute bars Trades value: data: requestTimestamp: '2020-10-23T03:38:02Z' updateTimestamp: '2020-10-23T03:41:39Z' listOfFiles: - fileName: data_0_0_0.csv.gz url: https://fdss3-structured-data-delivery-tickhistory-prod.s3.amazonaws.com/1908ba22c3d50cf0eb29d4941a15d754/1064084624/data_0_0_0.csv.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA6B6XG7VERPYTDXEC%2F20210407%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210407T173818Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEPL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIQDvzcjGyFCVYyQANp8yuwa3Wn3pD0qWWxLx4ay4oHW61QIgXf3ULeWuRB2jidoA%2BiY83uRbUT8PvB8enoeKgisQUIYq2AEISxAAGgw5NjYyODIxMTY0MjUiDLuCDb9G45Fsn6HtLCq1AYQPGk8GpzGiRXMiASd%2FayNLEOTkXRvTkjg00DAMPt4GM9%2BmVJyXStFairI5Ru1ZO6%2B4DAHT8H1u2Z2g%2FZfIR8Wozv8NYq992v8PapfgUXfuVeJI%2BLnGFyUstgbIB1BgO18I0JscQWbGIy6FTiGfBgPuxvpN57TAcmHgc1XNbKDGFqgeVwcLIkY62a8zYjbOPP09gzFW2%2FNPCIyKl074r0dAHwmGw21XEoxKyJgNaybEXli4lGAwh9y3gwY64AFxwpKMsSGOx4teikNbdzo8dCDU0rjtxUgCupkqrqOtetRTLrjaxp4%2BfDa5IweJcdTREupEfkEZR8aaHgcWSzd5%2BKk1nUEUe1RoG%2FqzrQ0%2BANY3nX2a%2BKhgI6PLX%2FVEGJtaxtx0fMHO9PU1Szg9Rr%2FRY%2BphK19fHFGGAJc1r%2Fby00MrJFahqIRkwVud8h63dSoOJ%2Fbc0vd3oPzl%2F6GGyRTaAyCsjPTr6lPBXLdrmBkP8TuDyW%2BnTGhX8wJtSp2BxCOxLy7%2BVwGGAPl%2FtBtQdNK7q4tkb2COlYL%2BD9m6w2uNFg%3D%3D&X-Amz-Signature=3d54bc7804a710dbea470007eb9a7b231a9f60544fe44582bab3ae60ab67ca65 meta: pagination: total: 256 isEstimatedTotal: false 403Example: summary: sample error response value: errors: - code: Forbidden title: USERNAME-SERIAL does not have permission id: 7af3d86ca5954503b9244f2620fcf5eb StreetAccountExample: summary: Sample error Response value: id: 0ad3e09c-d8a2-4223-a1a3-0244d1247351 error_message: parameterError:Missing required parameter jobID StreetAccount500Example: summary: Sample error Response value: id: 0ad3e09c-d8a2-4223-a1a3-0244d1247351 error_message: An unexpected error happened sampleCompletedResponse: summary: Status Done value: data: id: 27b4923f-86dd-4b8b-89ac-dfc3a26fa786 status: created error: null postBodyAll: summary: Multiple tickers with default all fields for the given period description: Post body request example to fetch details of the IBM and GOOGL tick data for the period 2023-01-01T00:00:00Z to 2023-01-05T23:59:59Z. value: data: tickers: - IBM - GOOGL factsetExchangeCode: USA dateTimeRange: start: '2023-01-01T00:00:00Z' end: '2023-01-05T23:59:59Z' single: false 500Example: summary: sample error response value: errors: - code: Internal server error title: An unexpected error happened id: 7af3d86ca5954503b9244f2620fcf5eb sampleGet-FilesResponse: summary: sample Response data for Level1 value: data: requestTimestamp: '2020-10-23T03:38:02Z' updateTimestamp: '2020-10-23T03:41:39Z' notAuthorizedTickers: [] invalidTickers: [] listOfFiles: - fileName: data_0_0_0.csv.gz url: https://fdss3-structured-data-delivery-tickhistory-prod.s3.amazonaws.com/1908ba22c3d50cf0eb29d4941a15d754/1064084624/data_0_0_0.csv.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA6B6XG7VERPYTDXEC%2F20210407%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210407T173818Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEPL%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIQDvzcjGyFCVYyQANp8yuwa3Wn3pD0qWWxLx4ay4oHW61QIgXf3ULeWuRB2jidoA%2BiY83uRbUT8PvB8enoeKgisQUIYq2AEISxAAGgw5NjYyODIxMTY0MjUiDLuCDb9G45Fsn6HtLCq1AYQPGk8GpzGiRXMiASd%2FayNLEOTkXRvTkjg00DAMPt4GM9%2BmVJyXStFairI5Ru1ZO6%2B4DAHT8H1u2Z2g%2FZfIR8Wozv8NYq992v8PapfgUXfuVeJI%2BLnGFyUstgbIB1BgO18I0JscQWbGIy6FTiGfBgPuxvpN57TAcmHgc1XNbKDGFqgeVwcLIkY62a8zYjbOPP09gzFW2%2FNPCIyKl074r0dAHwmGw21XEoxKyJgNaybEXli4lGAwh9y3gwY64AFxwpKMsSGOx4teikNbdzo8dCDU0rjtxUgCupkqrqOtetRTLrjaxp4%2BfDa5IweJcdTREupEfkEZR8aaHgcWSzd5%2BKk1nUEUe1RoG%2FqzrQ0%2BANY3nX2a%2BKhgI6PLX%2FVEGJtaxtx0fMHO9PU1Szg9Rr%2FRY%2BphK19fHFGGAJc1r%2Fby00MrJFahqIRkwVud8h63dSoOJ%2Fbc0vd3oPzl%2F6GGyRTaAyCsjPTr6lPBXLdrmBkP8TuDyW%2BnTGhX8wJtSp2BxCOxLy7%2BVwGGAPl%2FtBtQdNK7q4tkb2COlYL%2BD9m6w2uNFg%3D%3D&X-Amz-Signature=3d54bc7804a710dbea470007eb9a7b231a9f60544fe44582bab3ae60ab67ca65 meta: pagination: total: 256 isEstimatedTotal: false 429Example: summary: sample error response value: errors: - code: Too Many Requests title: quantityLimitsExceeded id: 7af3d86ca5954503b9244f2620fcf5eb sampleFilesResponse: summary: Status Accepted value: data: id: 27b4923f-86dd-4b8b-89ac-dfc3a26fa786 status: queued error: null minMultipleTicker: summary: Multiple tickers for the given period description: Post body request example to fetch details of the IBM and GOOGL tick data for the period 2023-01-01T00:00:00Z to 2023-01-05T23:59:59Z value: data: tickers: - IBM - GOOGL factsetExchangeCode: USA dateTimeRange: start: '2023-01-01T00:00:00Z' end: '2023-01-05T23:59:59Z' granularity: 1m type: trades minSingleTicker: summary: Single ticker for the given period description: Post body request example to fetch details of the IBM tick data for the period 2023-01-01T00:00:00Z to 2023-01-05T23:59:59Z. value: data: tickers: - IBM factsetExchangeCode: USA dateTimeRange: start: '2023-01-01T00:00:00Z' end: '2023-01-05T23:59:59Z' granularity: 1m type: trades 200RequestFilesExample: summary: Sample Response value: jobID: 9ffa3ffb-0ed3-40a0-a98f-8ed7da0a8ad5 status: submitted postBodyOfMultipleTicker: summary: Multiple tickers with requested fields for the given period description: Post body request example to fetch details of the IBM and GOOGL tick data for the period 2023-01-01T00:00:00Z to 2023-01-05T23:59:59Z to get requested ASK and BID values. value: data: tickers: - IBM - GOOGL factsetExchangeCode: USA dateTimeRange: start: '2023-01-01T00:00:00Z' end: '2023-01-05T23:59:59Z' fields: - ASK - BID single: false StreetAccount401Example: summary: Sample error Response value: id: 0ad3e09c-d8a2-4223-a1a3-0244d1247351 error_message: USERNAME-SERIAL does not have permission 404Example: summary: sample error response value: errors: - code: Not Found title: id not found id: 7af3d86ca5954503b9244f2620fcf5eb sampleFilesResponseQueued: summary: Status Queued value: data: id: 27b4923f-86dd-4b8b-89ac-dfc3a26fa786 status: queued error: null postBodyOfSingleTickerLevel2: summary: Single ticker for the given period description: Post body request example to fetch details of the IBM tick data for the period 2020-01-01 to 2020-01-05. value: data: tickers: - IBM mic: XNYS dateRange: start: '2020-01-01' end: '2020-01-05' responseFileType: csv 400Example: summary: Sample error Response value: errors: - code: Bad Request title: parameterError:['_id'] is not a valid parameter(s) id: 7af3d86ca5954503b9244f2620fcf5eb postBodyMultipleTickerLevel2: summary: Multiple tickers for the given period description: Post body request example to fetch details of the IBM and GOOGL tick data for the period 2020-01-01 to 2020-01-05. value: data: tickers: - IBM - GOOGL mic: XNYS dateRange: start: '2020-01-01' end: '2020-01-05' responseFileType: csv sampleGet-FilesResponseLevel2: summary: sample Response data for Level2 value: data: requestTimestamp: '2023-05-16T14:11:06Z' updateTimestamp: '2023-05-16T14:15:18Z' listOfFiles: - fileName: part-00000-e4b0e511-9da2-48e5-9170-65231cd1cda1-c000.csv.gz url: https://fdss3-cts-th-l2-results-prod.s3.amazonaws.com/results/SKAKKIRENI-fds/d6bdf9cc-e566-4fb1-939d-f4036c4d71a2/part-00000-e4b0e511-9da2-48e5-9170-65231cd1cda1-c000.csv.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA4NAFRGHDF2A35WEG%2F20230609%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230609T150543Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEEcaCXVzLWVhc3QtMSJIMEYCIQDXmsqCGk3%2FaKcpaxhhZxoCu%2B9%2Bcu5nOVCZhMVFLL41swIhAM6CJL1vTvEyrALobdYbOEE0wEP2fhUPpfN7KsLgcKMCKpYDCJD%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQAhoMODUyNTYyNjIwODcwIgxIMndyFOnQJQAfgP8q6gKepbh5fCacy9%2BIEQskkC7ZBRD%2BLhJxw366ui4HZHUdL6KzS8NqTWgTuExP3NPpbijN3zShV3JZ7wK5VIAZ4P2082Q5Ntb4SkCPW%2FfHm9z4PEhgh5rloCq42lu4W%2FTbjYY9DKVAGH1CuNatOiFOxF387dyotXUsWRVeQM6X2s2Mj4BEQ51z3qOWpaxQhL1iPXwk2rXQwlUPrICMU3%2FiAlsCOkp55ZKRS0Q42GXMxGjmcswsu%2BM%2BzZsJwmgl%2F8zbpJozLzZcpImkOiNWanpQkmWjVuXmcR52q2bZ4tvx0mtZNCDxOq%2FKySBRMDEJiFhXFxSkoDIxN19xpmJa2Z9vzCmHpA%2FAwuLdKQ9CapBvygkYO3ojf%2Fs0whIR6LWhFMW%2FvW%2FWrFyqfF9XOLtVele1YvFlxKQpCbwT%2FNJWjW9paji%2FbekNEHpNXq1xv%2BwvcbifD7M59NjGbidHeT3jAgdoT8ie%2FfF3BaO1J1sGIDD%2B%2FYykBjqcAeESPCIDl%2FAg2PrcBioBSay%2Fp8DtvCztpb9K2YR6tXoBkiYmy35TbaxUAkopRsyIZRnySyJoemYtRlez5nt9IZk8z2KJI6bTrIY2g7oxeuz5Y0ujsblB2UAYwe%2BuemhV5wLj3QxIDloEe%2B2LYgQq8FtmbBDuyk82B068g2yD%2B7GG%2BIMFjpyDk2f9FM0zAoSdv103xmgXg1sh91oZFA%3D%3D&X-Amz-Signature=235951702d599df97160a2849b31e290461597d11c1f8f54f9f2dec7f03bb331 meta: pagination: total: 256 isEstimatedTotal: false securitySchemes: basicAuth: type: http scheme: basic externalDocs: url: https://developer.factset.com/api-catalog/analytics-datastore-api description: API Documentation