openapi: 3.0.3
info:
title: Factset Analytics Datastore About Create 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: Create
paths:
/create:
post:
operationId: createChat
summary: Factset Create a chat request for a given natural language query.
description: "Returns a chat ID for polling the response to a natural language query for financial data.\n\n This endpoint is an interface for initializing a request for an answer from FactSet Mercury, our large language model for surfacing FactSet datasets through conversational natural language queries. Use the `/create` endpoint to start generating responses for one-off questions. Responses contain a chat ID and status for the chat process.\n"
tags:
- Create
requestBody:
description: Natural language query for FactSet data
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateChatRequest'
examples:
Example question:
$ref: '#/components/examples/CreateChatRequestExample'
responses:
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/CreateChatResponse'
examples:
Example question:
$ref: '#/components/examples/CreateChatResponseExample'
headers:
Location:
description: Relative URL to check the status of the request.
schema:
type: string
enum:
- /status
Api-Supported-Versions:
description: Comma-separated list of supported major versions.
schema:
type: string
example: '0'
Api-Version:
description: Full semantic version of the API.
schema:
type: string
example: 0.1.0
RateLimit-Limit:
description: Request limit per minute.
schema:
type: integer
example: 50
RateLimit-Remaining:
description: Number of available requests in the minute.
schema:
type: integer
example: 49
RateLimit-Reset:
description: Time remaining (in seconds) until request limit is reset.
schema:
type: integer
example: 24
X-DataDirect-Request-Key:
description: FactSet request ID.
schema:
type: string
example: 65C6BC290A11FB4F
X-RateLimit-Limit-Hour:
description: Request limit per hour.
schema:
type: integer
example: 1000
X-RateLimit-Remaining-Hour:
description: Number of available requests in the hour.
schema:
type: integer
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized - You are not properly authenticated for use of this API. Please make sure you are logged in to the developer portal or using a valid API key (managed [here](https://developer.factset.com/manage-api-keys)) for access. If you believe you are seeing this message in error, please reach out to your FactSet Support Team representative.
content:
text/plain:
schema:
$ref: '#/components/schemas/401UnauthorizedError'
examples:
Example error:
$ref: '#/components/examples/401UnauthorizedErrorExample'
'403':
description: Forbidden - You do not have the entitlements enabled for this service. Please reach out to your FactSet Support Team representative to receive the proper entitlements.
content:
text/plain:
schema:
$ref: '#/components/schemas/403ForbiddenError'
examples:
Example error:
$ref: '#/components/examples/403ForbiddenErrorExample'
'429':
description: Too Many Requests - The /create endpoint is currently rate-limited to 50 requests per minute and 1000 requests per hour for an individual organization. If you are receiving an unexpected amount of these errors, please contact the API team at [genai.offplatform@factset.com](genai.offplatform@factset.com).
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitExceededError'
examples:
Example error:
$ref: '#/components/examples/RateLimitExceededErrorExample'
headers:
RateLimit-Limit:
description: Request limit per minute.
schema:
type: integer
example: 50
RateLimit-Remaining:
description: Number of available requests.
schema:
type: integer
example: 49
RateLimit-Reset:
description: Time remaining (in seconds) until request limit is reset.
schema:
type: integer
example: 24
Retry-After:
description: How long (in seconds) to wait before attempting to send a new request.
schema:
type: integer
example: 24
X-DataDirect-Request-Key:
description: FactSet request ID.
schema:
type: string
example: 65C6BC290A11FB4F
X-RateLimit-Limit-Hour:
description: Request limit per hour.
schema:
type: integer
example: 1000
X-RateLimit-Remaining-Hour:
description: Number of available requests in the hour.
schema:
type: integer
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v1/create-template/:
post:
tags:
- Create
summary: Factset Kick Off Request to Create Template With Reports of Your Choice
description: This end point retrieves template name and template_id of the template you create. All the book options such as name of the template, type, and reports can be specified in the request body. Please refer to the documentation for valid section ids and report ids.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/createTemplatePostRequest'
responses:
'200':
description: Successful response contains book name and book ID
content:
application/json:
schema:
$ref: '#/components/schemas/Enable_Template_Info_Post'
'400':
description: Invalid template type/section_id/report_id
'401':
description: Missing or invalid authentication
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/create-book:
post:
tags:
- Create
summary: Factset Kicks Off Request to Create a Book With Reports of Your Choice
description: This end point retrieves book name and book_id for the PDF book you create. All the book options such as name of the book, ticker, pagination options, and reports can be specified in the request body. Please refer to the documentation for valid section ids and report ids.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/createBookPostRequest'
responses:
'200':
description: Successful response contains book name and book ID
content:
application/json:
schema:
$ref: '#/components/schemas/Enable_Book_Info'
'400':
description: Invalid ticker/section_id/report_id
'401':
description: Missing or invalid authentication
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/v1/create-book-from-template:
post:
tags:
- Create
summary: Factset Kicks Off Request to Create a Book With Template
description: This endpoint retrieves book status, book name, and book ID for ticker requested in JSON format. This end-point excepts ticker and template_id as inputs. If the template_id input is not used, a book will be created with FactSet's default template.Please try out the below template ids to quickly get the FactSet curated booksCompany Quick Book - g_20210415065838185Post-Earnings Call - g_20210415070044785 Public Information Book(PIB) - g_20210415070353151 Take a look at the example books attached under API documentation below.If you are scheduling Post Earnings Call curated book, please note that in contains Corrected Transcript that takes a little while to be available. Once a Raw Transcript is published, FactSet's editors review the call to produce a Corrected Transcript. They listen to the entire audio file again to confirm that all of the terms and numbers are correctly transcribed. FactSet aims to publish a Corrected Transcript within six times the length of the event, measured from the beginning of the event. That means for a typical one-hour call, FactSet will produce a Corrected Transcript within approximately five hours of the call's completion. Visit [OA 13208](https://my.apps.factset.com/oa/pages/13208)
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/createBookFromTemplatePostRequest'
responses:
'200':
description: Successful response contains request status, book name, and book ID
content:
application/json:
schema:
$ref: '#/components/schemas/Enable_Book_Info_From_Template'
'400':
description: Invalid ticker or Unknown error
'401':
description: Missing or invalid authentication
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
createBookPostRequest:
title: Request Body for Post Request
description: The request body allows users to input the name of the book, ticker
type: object
properties:
book_name:
type: string
description: name of the book
example: Company Book for FDS
ticker:
type: string
description: Identifier.
example: FDS-US
pagination:
type: object
description: options for pagination
properties:
cover:
example: 'true'
divider:
example: 'true'
toc:
example: 'true'
example: example_value
content:
type: array
description: Content sections
items:
oneOf:
- type: object
properties:
section_id:
example: COMPANY_OVERVIEW
reports:
type: array
items:
oneOf:
- type: string
example: COMPANY_SNAPSHOT_IB
- type: string
example: COMPANY_SNAPSHOT_IM
- type: string
example: ENTITY_STRUCTURE
example: []
createBookFromTemplatePostRequest:
title: Request Body for Post Request
description: It is a request body to allow users to input ticker and template id.
type: object
properties:
ticker:
type: string
description: ticker
example: FDS-US
template_id:
type: string
description: Template ID
example: g_20210415065838185
403ForbiddenError:
description: Error response for a user without entitlements to the API.
type: string
Enable_Book_Info:
title: Book Information Request
description: Request to enable book information for the client.
type: object
properties:
bookName:
type: string
description: Report Name
example: Apple Inc.
bookID:
type: string
description: Book ID
example: 20200317133713790
CreateChatResponse:
description: Response from `/create` containing the chat ID and executing status
type: object
properties:
data:
type: object
properties:
conversationId:
type: string
format: uuid
status:
type: string
enum:
- executing
401UnauthorizedError:
description: Error response for a user without authentication to use the API.
type: string
Error:
description: Wrapper containing metadata and appropriate errors as thrown by the API
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/ErrorObject'
RateLimitExceededError:
description: Error response when rate limit has been exceeded.
type: object
properties:
message:
type: string
enum:
- API rate limit exceeded
Enable_Book_Info_From_Template:
title: Book Information Request
description: Request to enable book information for the client.
type: object
properties:
status:
type: string
description: Request status
example: OK
bookName:
type: string
description: Report Name
example: Apple Inc.
bookID:
type: string
description: Book ID
example: 20200317133713790
createTemplatePostRequest:
title: Request Body for Template Request
description: The request body allows users to input the name of the template, ticker
type: object
properties:
tmpl_name:
type: string
description: name of the template
example: Quick Financials
tmpl_type:
type: string
description: Type of the template (public,pc,pe,fi)
example: public
content:
type: array
description: Content sections
items:
oneOf:
- type: object
properties:
section_id:
example: COMPANY_OVERVIEW
reports:
type: array
items:
oneOf:
- type: string
example: COMPANY_SNAPSHOT_IB
- type: string
example: COMPANY_SNAPSHOT_IM
- type: string
example: ENTITY_STRUCTURE
example: []
Enable_Template_Info_Post:
title: Template Request
description: Request to enable template list information for the client.
type: object
properties:
tmpl_id:
type: string
description: Template ID
example: 20200623094829450
tmpl_name:
type: string
description: Template name
example: Financials
ErrorObject:
description: Represents a single error, with error name and identifiers
type: object
properties:
id:
type: string
title:
type: string
code:
type: string
CreateChatRequest:
description: Request body containing the query to be sent to the LLM
properties:
data:
type: object
required:
- query
properties:
query:
description: Natural language query for FactSet data
type: string
title: Query
required:
- data
type: object
examples:
401UnauthorizedErrorExample:
value: Authentication Failed
CreateChatResponseExample:
value:
data:
conversationId: 9c1031c2-5463-47ae-81b3-126a68f0c2a6
status: executing
RateLimitExceededErrorExample:
value:
message: API rate limit exceeded
403ForbiddenErrorExample:
value: 'Client does not have the required CACCESS: {00QAI}, Request key: 65CA96B3129489A6'
CreateChatRequestExample:
value:
data:
query: What is Tesla's enterprise value?
securitySchemes:
basicAuth:
type: http
scheme: basic
externalDocs:
url: https://developer.factset.com/api-catalog/analytics-datastore-api
description: API Documentation