{"openapi":"3.1.1","info":{"title":"md2pdf","description":"Free Markdown to PDF API by CloudRaker.","version":"1.0.0"},"components":{"schemas":{"Options":{"type":"object","properties":{"title":{"type":"string","maxLength":300},"author":{"type":"string","maxLength":300},"subject":{"type":"string","maxLength":1000},"pageSize":{"default":"a4","type":"string","enum":["a4","us-letter","a5","us-legal"]},"fontSize":{"default":"10.5pt","type":"string","pattern":"^\\d{1,3}(\\.\\d{1,3})?(pt|mm|cm|in)$"},"logo":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"format":"uri"},"svg":{"type":"string","maxLength":262144},"height":{"default":"1cm","type":"string","pattern":"^\\d{1,3}(\\.\\d{1,3})?(pt|mm|cm|in)$"},"allPages":{"default":true,"type":"boolean"},"position":{"default":"left","type":"string","enum":["left","center","right"]}},"additionalProperties":false},"margins":{"default":{},"type":"object","properties":{"otherPages":{"default":{},"type":"object","properties":{"top":{"default":"2.5cm","type":"string","pattern":"^\\d{1,3}(\\.\\d{1,3})?(pt|mm|cm|in)$"},"right":{"default":"2cm","type":"string","pattern":"^\\d{1,3}(\\.\\d{1,3})?(pt|mm|cm|in)$"},"bottom":{"default":"2.5cm","type":"string","pattern":"^\\d{1,3}(\\.\\d{1,3})?(pt|mm|cm|in)$"},"left":{"default":"2cm","type":"string","pattern":"^\\d{1,3}(\\.\\d{1,3})?(pt|mm|cm|in)$"}}},"firstPage":{"default":{},"type":"object","properties":{"top":{"type":"string","pattern":"^\\d{1,3}(\\.\\d{1,3})?(pt|mm|cm|in)$"}},"additionalProperties":false}},"additionalProperties":false},"header":{"default":{},"type":"object","properties":{"text":{"default":"","type":"string","maxLength":200},"firstPage":{"type":"string","maxLength":200},"lastPage":{"type":"string","maxLength":200},"position":{"default":"right","type":"string","enum":["left","center","right"]}},"additionalProperties":false},"pageNumbers":{"default":{},"type":"object","properties":{"firstPage":{"default":true,"type":"boolean"},"lastPage":{"default":true,"type":"boolean"},"format":{"default":"{page} / {total}","type":"string","maxLength":60},"style":{"default":"1","type":"string","enum":["1","i","I","a","A"]},"position":{"default":"center","type":"string","enum":["left","center","right"]}},"additionalProperties":false},"colors":{"default":{},"type":"object","properties":{"text":{"default":"#000000","type":"string","pattern":"^#[0-9a-fA-F]{6}$"},"link":{"default":"#000000","anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}]},"codeBackground":{"default":"#f4f4f4","anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}]},"tableHeaderBackground":{"default":null,"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}]},"tableHeaderText":{"default":"#000000","anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}]},"tableBorder":{"default":"#000000","anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}]},"tableStripe":{"default":null,"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}]}},"additionalProperties":false},"fonts":{"default":{},"type":"object","properties":{"body":{"default":"Inter","type":"string","pattern":"^[A-Za-z0-9 ]{2,60}$"},"h1":{"type":"string","pattern":"^[A-Za-z0-9 ]{2,60}$"},"h2":{"type":"string","pattern":"^[A-Za-z0-9 ]{2,60}$"},"h3":{"type":"string","pattern":"^[A-Za-z0-9 ]{2,60}$"},"h4":{"type":"string","pattern":"^[A-Za-z0-9 ]{2,60}$"},"tableHeader":{"type":"string","pattern":"^[A-Za-z0-9 ]{2,60}$"},"code":{"default":"JetBrains Mono","type":"string","pattern":"^[A-Za-z0-9 ]{2,60}$"}},"additionalProperties":false}},"additionalProperties":false},"RenderRequest":{"type":"object","properties":{"markdown":{"type":"string","example":"# Hello\n\nThis is **markdown**."},"options":{"$ref":"#/components/schemas/Options"}},"required":["markdown"]}}},"paths":{"/pdf":{"post":{"operationId":"markdownToPdf","summary":"Convert Markdown to PDF","description":"Send Markdown as the raw body (any content type but JSON), or JSON `{ markdown, options }` to style the document. Returns the PDF. Nothing is stored; fonts and logos are cached.","requestBody":{"content":{"text/markdown":{"schema":{"type":"string"}},"application/json":{"schema":{"$ref":"#/components/schemas/RenderRequest"}}}},"responses":{"200":{"description":"The PDF.","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid options, unknown font, or unusable logo."},"413":{"description":"Markdown larger than 512 KiB."},"422":{"description":"The document could not be typeset."},"429":{"description":"Rate limited (per IP)."}}}}}}