About this endpoint
What it does
Typesets a print-ready book PDF from a structured book manuscript. The request body defines the book metadata, front matter, chapters, back matter, trim size, font, layout options, and optional cover assets; the success response is a binary file.
Request Body
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| bookTitle | String | Yes | The book title, printed on the title page, cover, and running header. |
| trimWidthIn | Number | Yes | Page width in inches, from 3 to 14. |
| trimHeightIn | Number | Yes | Page height in inches, from 3 to 14. |
| chapters | Object Array | Yes | The chapters in order, up to 100 items. Each chapter object requires title and blocks. partTitle is optional and groups adjacent chapters under the same part divider page. |
| chapters[].title | String | Yes | The chapter title, printed as the chapter heading and used in the table of contents. |
| chapters[].blocks | Object Array | Yes | Chapter content in reading order, up to 800 blocks. Each block must match one of the supported block shapes in the schema. |
| chapters[].partTitle | String | No | Groups this chapter and following chapters with the same value under a Part divider page. |
| isbn | String | No | Printed on the copyright page as given. Not validated. |
| eisbn | String | No | Electronic ISBN, printed on the copyright page. |
| index | Object Array | No | Index entries. Each item must match one of the supported index item shapes in the schema. |
| praise | Object Array | No | Front-matter praise entries, up to 800 items. Each item must match one of the supported content shapes in the schema. |
| authors | Object Array | No | Author entries, up to 50 items. Each author requires name and role. bio and photoDataUri are optional. |
| authors[].name | String | Yes | Author name, up to 200 characters. |
| authors[].role | ENUM | Yes | Author role. Allowed values: main, contributing, illustrator, editor. |
| authors[].bio | Object Array | No | Author bio content shown on the About the Author page, up to 800 items. |
| authors[].photoDataUri | String | No | Author photo as an image data URI. |
| edition | String | No | Edition label, such as 2nd Edition, shown on the title page and covers. |
| preface | Object Array | No | Preface content, up to 800 items. |
| appendix | Object Array | No | Appendix content, up to 800 items. |
| endnotes | Object Array | No | Endnotes content, up to 800 items. |
| epigraph | Object Array | No | Epigraph content, up to 800 items. |
| foreword | Object | No | Foreword content. Requires authorName and blocks. |
| foreword.authorName | String | Yes | Name printed under the foreword. |
| foreword.blocks | Object Array | Yes | Foreword content blocks, up to 800 items. |
| glossary | Object Array | No | Glossary content, up to 800 items. |
| answerKey | Object Array | No | Answer key content, up to 800 items. |
| backCover | Object | No | Back cover configuration. |
| backCover.blurb | Object Array | No | Back-cover blurb content, up to 800 items. |
| backCover.imageDataUri | String | No | Full-bleed back-cover image as a data URI. |
| backCover.publisherName | String | No | Publisher name shown on the back cover. |
| backCover.qrCodeDataUri | String | No | QR code image data URI placed on the back cover. |
| backCover.barcodeDataUri | String | No | Barcode image data URI placed on the back cover. |
| backCover.publisherLogoDataUri | String | No | Publisher logo data URI placed on the back cover. |
| direction | ENUM | No | Reading direction. Allowed values: auto, ltr, rtl. |
| publisher | Object | No | Publisher details. Requires name; intro and logoDataUri are optional. |
| publisher.name | String | Yes | Publisher name. |
| publisher.intro | Object Array | No | Publisher intro content, up to 800 items. |
| publisher.logoDataUri | String | No | Publisher logo data URI. |
| watermark | Boolean | No | Opt-in preview watermark. Default is false. |
| dedication | Object Array | No | Dedication content, up to 800 items. |
| frontCover | Object | No | Front-cover configuration. imageDataUri, publisherName, and publisherLogoDataUri are optional. |
| frontCover.imageDataUri | String | No | Full-bleed front-cover image as a data URI. |
| frontCover.publisherName | String | No | Publisher name shown on the front cover. |
| frontCover.publisherLogoDataUri | String | No | Publisher logo data URI shown on the front cover. |
| includeToc | Boolean | No | Whether to include a table of contents. |
| seriesName | String | No | Series name, up to 300 characters. |
| authorsNote | Object Array | No | Authors' note content, up to 800 items. |
| gutterModel | ENUM | No | Margin model. Allowed values: kdp-scaled, flat-0.5, flat-0.75-inside. |
| alsoByAuthor | Object Array | No | Also-by-author content, up to 800 items. |
| bibliography | Object Array | No | Bibliography content, up to 800 items. |
| listOfGraphs | Object Array | No | List of graphs content, up to 800 items. |
| listOfTables | Object Array | No | List of tables content, up to 800 items. |
| titlePageContent | Object Array | No | Extra title-page content, up to 800 items. |
| copyrightYear | Integer | No | Copyright year. Minimum 1000, maximum 9999. Default is the current year. |
| bodyFontFamily | ENUM | No | Body font embedded in the PDF. Allowed values: literata, eb-garamond, merriweather, lora, tinos, inter, arimo, playfair-display. Default literata. |
| peerReviewNote | Object Array | No | Peer review note content, up to 800 items. |
| backMatterOrder | String Array | No | Order of back-matter sections. Allowed values: acknowledgments, also-by-author, appendix, bibliography, endnotes, glossary, answer-key, index. |
| copyrightHolder | String | No | Name printed after the copyright symbol. |
| frontMatterOrder | String Array | No | Order of front-matter sections. Allowed values: praise, title-page, copyright-page, authors, dedication, epigraph, foreword, authors-note, preface, how-to-use, publisher, peer-review, toc, list-of-images, list-of-tables, list-of-graphs. A section omitted from this list is left out. |
| howToUseThisBook | Object Array | No | How-to-use content, up to 800 items. |
| epigraphShowLabel | Boolean | No | Whether to show the epigraph label. |
| dedicationShowLabel | Boolean | No | Whether to show the dedication label. |
| includeListOfImages | Boolean | No | Whether to include a list of images. |
| copyrightPageContent | Object Array | No | Extra copyright-page content, up to 800 items. |
| epigraphImageDataUri | String | No | Image data URI used with the epigraph section. |
| titlePageImageDataUri | String | No | Image data URI used on the title page. |
| dedicationImageDataUri | String | No | Image data URI used with the dedication section. |
| copyrightPageImageDataUri | String | No | Image data URI used on the copyright page. |
Response
Returns a binary file containing the generated PDF. The output schema is a single binary payload, so the success response is the downloadable document itself.
| Parameter | Type | Mandatory | Description |
|---|---|---|---|
| file | Binary | Yes | The generated PDF binary. |
Notes
watermark defaults to false, so the exported file is clean unless you opt in to the preview marking. Also note that bodyFontFamily is limited to the eight enumerated fonts, and unsupported scripts such as Chinese, Japanese, Korean, and other unsupported scripts are rejected with 422 unsupported_script according to the schema description.



