openapi: 3.0.0
info:
description: >-
The BookBuilder API is a powerful tool that combines detailed reports for
companies of interest. Save time by using a single source of knowledge
instead of relying on multiple APIs to create a presentation ready PDF, also
known as a Public Information Book(PIB). Consistently create
books with the same content/reports for different companies by defining
templates with the set of reports saved for re-use. Or, use templates that
are created by FactSet for quick use. With our powerful API
endpoints, you can get the information on companies of interest quickly
where and when you need it.
title: Factset BookBuilder
version: '1.11'
servers:
- url: https://api.factset.com/book-builder-api/
description: Base URL Production
security:
- BasicAuth: []
tags:
- name: Book List
- name: Create Book
- name: Create Book From Template
- name: Create Template
- name: Custom Upload List
- name: Download Api Book Aws
- name: Template List
- name: Upload Custom Document
paths:
/v1/book-list:
get:
tags:
- Book List
summary: Factset Check out the books that are in the book library
description: >-
Retrieves the list of books that were previously created and are
available in the client's book library
responses:
'200':
description: >-
Successful response contains book name, book ID, created date,
shared status of the book and book type
content:
application/json:
schema:
$ref: '#/components/schemas/Enable_BookList_Info'
'401':
description: Missing or invalid authentication
/v1/template-list:
get:
tags:
- Template List
summary: Factset Retrieves the list of templates that are available
description: >-
A template is a predefined list of content to be compiled in a PDF. This
end point works without any parameters and retrieves the list of
templates available for the user. Templates need to defined/created in
FactSet workstation.
responses:
'200':
description: >-
Successful response contains an array with template name, template
ID, created date, template source and template type
content:
application/json:
schema:
$ref: '#/components/schemas/Enable_Template_Info'
'401':
description: Missing or invalid authentication
/v1/create-template/:
post:
tags:
- Create Template
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
/v1/create-book:
post:
tags:
- Create Book
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
/v1/create-book-from-template:
post:
tags:
- Create Book From Template
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
/v1/download-api-book-aws/{book_id}:
get:
tags:
- Download Api Book Aws
summary: Factset Retrieves book in PDF format
description: >-
This endpoint uses the BookId returned from any of the request above.
Returns the URL to load the book for the book ID requested. The URL will
be in JSON format, the final book will be in PDF format.
NOTE
-- The execution of this endpoint requires an extra step within the
developer portal due to authentication limitations. When using the
actual API, a successful response for this endpoint will be the PDF book
rather than the URL to the PDF.
The actual endpoint is
https://api.factset.com/book-builder-api/v1/download-api-book/{book_id}
parameters:
- in: path
name: book_id
schema:
type: string
required: true
responses:
'200':
description: >-
Successful response contains URL to load the book for the BookID
requested
content:
application/json:
schema:
$ref: '#/components/schemas/Enable_Book_Download'
'202':
description: Book is processing. Please check back later.
'400':
description: Something went wrong. Please create a new request.
'401':
description: Missing or invalid authentication
'503':
description: Unrecognized BookId
/v1/upload-custom-document:
post:
tags:
- Upload Custom Document
summary: Factset Upload a custom document
description: >-
Upload any thrid-party documents that need to be included in the final
PDF. Once uploaded, the successful response will be a unique fileurl
that can be used to add the files to the PDF output using the
create-book endpoint. Supported files include Powerpoint, Word, RTF and
PDF. The total size should not exceed 250MB and each file should not
exceed 10MB.
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: array
items:
type: string
format: binary
minItems: 1
responses:
'200':
description: Successful response contains file name, fileURL of the book uploaded
content:
application/json:
schema:
$ref: '#/components/schemas/Upload_Document_Response'
'400':
description: Invalid ticker or Unknown error
'401':
description: Missing or invalid authentication
/v1/custom-upload-list:
get:
tags:
- Custom Upload List
summary: Factset Check out the documents uploaded before to use them in creating books
description: >-
Retrieves the list of documents uploaded before using the endpoint
"/upload-custom-document". The documents uploaded are available for 30
days from the date of uploading.
responses:
'200':
description: >-
Successful response contains file name, fileURL and the date and
time the book was uploaded
content:
application/json:
schema:
$ref: '#/components/schemas/Uploaded_Documents_List'
'401':
description: Missing or invalid authentication
components:
securitySchemes:
BasicAuth:
type: http
scheme: basic
schemas:
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
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'
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
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
Enable_BookList_Info:
title: Booklist Request
description: Request to enable Book list information for the client.
type: array
items:
properties:
bookID:
type: string
description: Book ID
example: 20200623094829450
book_name:
type: string
description: Book Name
example: Financials
created_on:
type: string
description: Date on which the book was created
example: 2020-6-23 9:48
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
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
Enable_Template_Info:
title: Template Request
description: Request to enable template list information for the client.
type: array
items:
properties:
template_id:
type: string
description: Template ID
example: 20200623094829450
template_name:
type: string
description: Template name
example: Financials
created_on:
type: string
description: Date on which the template was created
example: 2020-6-23 9:48
template_source:
type: string
description: Source of the template - Custom vs. Default
example: own_template
type:
type: string
description: Type of the template
example: Public
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
Upload_Document_Response:
title: Upload Document Response
description: Response to Upload Document.
type: array
items:
properties:
name:
type: string
description: Name of the uploaded file
example: Custom Upload
file_url:
type: string
description: FIle url
example: b33f6b758f2b12562251e5396e21f68ad46648bf19a8f3a9e55f74
Uploaded_Documents_List:
title: Template Request
description: Request to enable template list information for the client.
type: array
items:
properties:
name:
type: string
description: Template ID
example: Custom Upload
file_url:
type: string
description: FIle url
example: b33f6b758f2b12562251e5396e21f68ad46648bf19a8f3a9e55f74
Enable_Book_Download:
title: Book Download
description: Request to download book.
type: object
properties:
Message:
type: string
description: Book status
example: >-
Copy and paste the URL below into your browser to download your
book. This book will be available for download for the next 30
minutes.
url:
type: string
description: URL to book.
example: >-
https://fioaddon-s3-bridge-3399.s3.amazonaws.com/DD_20200331093828132.pdf?AWSAccessKeyId=AKIA46YVWD3IE4WEE4OI&Expires=1585663820&Signature=C2PQmOQJlgzbW67skirSuKAiP1A%3D