{"openapi":"3.1.0","info":{"title":"Bookbinding API","version":"1.0.0","description":"Bookbinding and print-production maths as an API, computed locally and deterministically — the spine-width and imposition numbers a book designer, printer or self-publisher needs to lay out a title. The spine endpoint computes the spine width from the page count and the paper's bulk: spine = page count ÷ pages-per-inch (the printer's paper spec, typically ~400–500 for book stock), or leaves × sheet caliper, plus the cover boards — so a 250-page book on 400-PPI stock has a 0.625-inch (15.9 mm) spine. The imposition endpoint works out the binding layout: for saddle-stitch it rounds the page count up to the next multiple of four (one folded sheet is four pages) and reports the blanks to pad and the sheets; for perfect-bound or section-sewn books it gathers the pages into signatures of 8, 16 or 32 and reports the signature count, the required page total and the blank pages. Everything is computed locally and deterministically, so it is instant and private. Ideal for self-publishing, print-on-demand, book-design, prepress and printing app developers, spine-and-cover and imposition tools, and graphic-design education. Pure local computation — no key, no third-party service, instant. Page count counts both sides; PPI is the paper spec. Live, nothing stored. 2 compute endpoints. For paper weight use a paper API and for DPI/resolution a resolution API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/bookbinding-api","description":"oanor gateway"}],"tags":[{"name":"Bookbinding"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/imposition":{"get":{"operationId":"get_v1_imposition","tags":["Bookbinding"],"summary":"Signatures & blanks","description":"","parameters":[{"name":"page_count","in":"query","required":true,"description":"Total pages","schema":{"type":"string"},"example":"130"},{"name":"binding","in":"query","required":false,"description":"saddle-stitch or perfect","schema":{"type":"string"},"example":"perfect"},{"name":"pages_per_signature","in":"query","required":false,"description":"Pages per signature (8/16/32)","schema":{"type":"string"},"example":"16"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Section-sewn / perfect-bound books are gathered in signatures (folded sheets, usually 8/16/32 pages). Pad to a whole number of signatures.","inputs":{"binding":"perfect","page_count":130,"pages_per_signature":16},"signatures":9,"blank_pages":14,"required_pages":144},"meta":{"timestamp":"2026-06-06T07:14:10.074Z","request_id":"6a142918-1836-45ff-b294-34615ef13068"},"status":"ok","message":"Imposition","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/spine":{"get":{"operationId":"get_v1_spine","tags":["Bookbinding"],"summary":"Spine width","description":"","parameters":[{"name":"page_count","in":"query","required":true,"description":"Total pages (both sides)","schema":{"type":"string"},"example":"250"},{"name":"ppi","in":"query","required":false,"description":"Pages per inch (paper spec)","schema":{"type":"string"},"example":"400"},{"name":"caliper_mm","in":"query","required":false,"description":"Or sheet caliper (mm)","schema":{"type":"string"}},{"name":"cover_thickness_mm","in":"query","required":false,"description":"Cover board thickness (mm)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Spine = page count ÷ pages-per-inch, or leaves × sheet caliper. Add the cover boards. PPI is the printer's paper spec (e.g. ~400–500 for typical book stock).","inputs":{"ppi":400,"page_count":250},"spine_mm":15.875,"spine_inches":0.625},"meta":{"timestamp":"2026-06-06T07:14:10.161Z","request_id":"87b6aa64-7135-4cb9-8675-39a1da1f0bd0"},"status":"ok","message":"Spine width","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"notes":"Page count counts both sides (a 100-leaf book is 200 pages). PPI (pages per inch) is the printer's paper spec. Saddle-stitch needs multiples of 4; signatures are usually 8/16/32 pages.","service":"bookbinding-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/spine":"Spine width (inches and mm) from the page count and the paper's PPI or caliper.","GET /v1/imposition":"Signatures, required pages and blanks for saddle-stitch or perfect binding."},"description":"Bookbinding & print-production maths: spine width from page count and paper, and imposition (signatures, blanks, binding constraints)."},"meta":{"timestamp":"2026-06-06T07:14:10.265Z","request_id":"fac8e145-81da-4a31-a7a1-984dee708f3f"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":4850,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":510,"monthly_call_quota":47500,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1390,"monthly_call_quota":216000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4250,"monthly_call_quota":1255000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/bookbinding-api"}