---
title: "Calculate KDP wrap dimensions"
method: GET
path: "/api/v1/wraps/calculate"
tags: ["Wraps"]
---

# Calculate KDP wrap dimensions

`GET /api/v1/wraps/calculate`

## Request

- Base URL: `https://beyourcover.com`
- URL: `https://beyourcover.com/api/v1/wraps/calculate`
- Auth: HTTP bearer

Print geometry for a KDP wrap: spine width, full canvas in inches and pixels at 300 DPI, safe margins, the barcode zone, and whether the spine is thick enough for text. Free, no credits, no side effects. The MCP `calculate_kdp_wrap` tool and `POST /api/v1/wraps` apply the same rules, so a size this refuses cannot be created either.

## Query parameters

- `trimWidth` number, required
- `trimHeight` number, required
- `pageCount` integer, required
- `paperType` 'white' | 'cream' | 'premium_color' | 'standard_color', required
- `bindingType` 'paperback' | 'hardcover'

## Response `200`

Print geometry for the requested book.

- WrapDimensions: Print geometry at 300 DPI. All inch values are the finished canvas including bleed.
  - `spineWidth` number: Spine width in inches: derived from pageCount and paperType on a KDP wrap, entered by hand on a Barnes & Noble design from the editor.
  - `fullWidth` number: Full wrap width in inches (back + spine + front + bleed).
  - `fullHeight` number: Full wrap height in inches (trim height + bleed).
  - `pixelWidth` integer: fullWidth x dpi, rounded.
  - `pixelHeight` integer: fullHeight x dpi, rounded.
  - `dpi` integer: Always 300.
  - `bleed` number: Bleed in inches per edge (0 for hardcover printed case).
  - `safeTextMargin` number: Minimum inches between text and the trim edge.
  - `minFontSize` number: Smallest point size the layout engine will emit.
  - `canHaveSpineText` boolean: False when the spine is too thin for lettering (under 79 pages on KDP); spine text is dropped with a warning.
  - `barcodeZone` object: Rectangle in inches, relative to the BACK COVER origin, that the printer covers with the barcode. The layout engine keeps text out of it.
    - `x` number
    - `y` number
    - `width` number
    - `height` number
  - `sections` object: Panel boundaries in inches from the left edge of the full wrap.
  - `bindingType` 'paperback' | 'hardcover' | 'dust-jacket': `dust-jacket` (with flaps) appears only on Barnes & Noble designs made in the browser editor.

## Other responses

- `400`: `code` is one of: `invalid_trim_size`, `invalid_page_count`, `invalid_paper_type`, `invalid_binding_type`.
- `401`: Missing/malformed API key, unknown or inactive key, or inactive subscription detected during credit checks. `code`: `unauthorized`.
- `403`: The API key is valid but its owner has no active enterprise subscription. `code`: `forbidden`.
- `500`: Unexpected server error. `code`: `internal_error`.

---

[API](https://skmtc.dev/beyourcover/apis/beyourcover-partner-api.md) · [All operations](https://skmtc.dev/beyourcover/apis/beyourcover-partner-api/llms.txt) · [OpenAPI document](https://skmtc.dev/beyourcover/apis/beyourcover-partner-api/revisions/82ad2c7c8ede?raw)
