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 books

Company Quick Book - g_20210415065838185
Post-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