{"openapi":"3.1.0","info":{"title":"QR & Barcode Generator","version":"0.1.0","description":"Generate and decode QR codes and barcodes.","x-guidance":"Generate and decode QR codes and barcodes. Each operation is an HTTP POST to its /v1/<operation> path with a JSON request body (see each operation's requestBody schema) and returns a JSON response. Endpoints are paid per successful call via x402 or MPP (USDC on Base); an unpaid request returns 402 with payment metadata in the WWW-Authenticate header.","contact":{"email":"hello@openverbs.com"}},"x-discovery":{"ownershipProofs":["0xb1401a71756f51464a9962db12f1eb3e9522490cd20010b06d00cf7b7770acfd5f79721f9dfdf2643f8cecd29af3bde9ec133941a386042b32d9886053a70de61b","0xc1c1f11793e18a00fcb7072421f26e89fb75b6aa517fa84370564991f4b10efa024f6f57e4e67eefd20cf46cc01fc5a62d793fa8fbcda04f26c946a3433d73f91b","0x676b474af0ef9ed4809b5d12d2e789b36e52d56215b21f601d71f76620e36ec630347116a7b2b349a3c3681e5db0fbfa76c4169a676b6d6f27864d0e5017284a1c","0xc2ab96522515ed9e9bc4f1a241b774bd48df42e951ddbf7f6aa8fc76f5a96a20421703e1ec402ce7eb1e4eabea3b6e4e4129cf39d56ea91cf4fcf38561fc94fc1c"]},"servers":[{"url":"https://qr.openverbs.com"}],"paths":{"/health":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"Healthy","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"},"version":{"type":"string"}}}}}}}}},"/v1/qr":{"post":{"summary":"Generate QR code","description":"Render text (URL, vCard, Wi-Fi config, …) as a QR code — SVG string or PNG data URL. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["generate qr code","qr code api","create qr code","text to qr code","url qr code generator","qr svg png"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":2000,"description":"Content to encode."},"format":{"type":"string","enum":["svg","png"],"description":"Output format. Defaults to svg."},"size":{"type":"integer","minimum":64,"maximum":2000,"description":"Image width in px. Defaults to 256."},"margin":{"type":"integer","minimum":0,"maximum":20,"description":"Quiet-zone modules. Defaults to 4."},"ecc":{"type":"string","enum":["L","M","Q","H"],"description":"Error-correction level. Defaults to M."}},"required":["text"],"additionalProperties":false}}}},"responses":{"200":{"description":"The generated `image` (SVG markup or a PNG `data:` URL) and its `format`.","content":{"application/json":{"schema":{"type":"object","description":"The generated `image` (SVG markup or a PNG `data:` URL) and its `format`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Render text (URL, vCard, Wi-Fi config, …) as a QR code — SVG string or PNG data URL.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Render text (URL, vCard, Wi-Fi config, …) as a QR code — SVG string or PNG data URL.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Render text (URL, vCard, Wi-Fi config, …) as a QR code — SVG string or PNG data URL.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/barcode":{"post":{"summary":"Generate barcode","description":"Render a barcode (Code128, Code39, EAN-13/8, UPC-A/E, ITF-14, DataMatrix, PDF417) as SVG or PNG data URL. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["generate barcode","barcode generator api","create code128 barcode","ean upc barcode","datamatrix barcode","pdf417 barcode"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":512,"description":"Value to encode (numeric symbologies require digits)."},"type":{"type":"string","enum":["code128","code39","ean13","ean8","upca","upce","itf14","datamatrix","pdf417"],"description":"Barcode symbology."},"format":{"type":"string","enum":["svg","png"],"description":"Output format. Defaults to svg."},"scale":{"type":"integer","minimum":1,"maximum":10,"description":"Module scale. Defaults to 3."},"height":{"type":"integer","minimum":1,"maximum":100,"description":"Bar height in mm (linear types). Defaults to 10."},"includeText":{"type":"boolean","description":"Print the human-readable value. Defaults to true."}},"required":["text","type"],"additionalProperties":false}}}},"responses":{"200":{"description":"The generated `image` (SVG markup or a PNG `data:` URL), its `format` and the barcode `type`.","content":{"application/json":{"schema":{"type":"object","description":"The generated `image` (SVG markup or a PNG `data:` URL), its `format` and the barcode `type`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Render a barcode (Code128, Code39, EAN-13/8, UPC-A/E, ITF-14, DataMatrix, PDF417) as SVG or PNG data URL.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Render a barcode (Code128, Code39, EAN-13/8, UPC-A/E, ITF-14, DataMatrix, PDF417) as SVG or PNG data URL.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Render a barcode (Code128, Code39, EAN-13/8, UPC-A/E, ITF-14, DataMatrix, PDF417) as SVG or PNG data URL.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/decode":{"post":{"summary":"Decode QR / barcode","description":"Read the text out of a QR code or barcode in a PNG or JPEG image. Auto-detects QR, DataMatrix, PDF417, Aztec and 1D symbologies (Code128/39/93, EAN-13/8, UPC-A/E, ITF, Codabar). A valid image with no code returns { found: false }; a payload that is not a parseable image is a 400. Paid endpoint (x402 + MPP). Price: $0.004000 USDC per successful payment.","tags":["decode qr code","scan barcode image","read qr barcode","barcode decode api","extract code text","decode image code"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"image":{"type":"string","minLength":1,"maxLength":12000000,"description":"The image containing the code — a PNG or JPEG, as a base64 string or a data: URL."}},"required":["image"],"additionalProperties":false},"example":{"image":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR4AWP4DwQACfsD/c8LaHIAAAAASUVORK5CYII="}}}},"responses":{"200":{"description":"`{ found, text?, format?, kind? }` — kind is \"qr\" (2D) or \"barcode\" (1D).","content":{"application/json":{"schema":{"type":"object","description":"`{ found, text?, format?, kind? }` — kind is \"qr\" (2D) or \"barcode\" (1D)."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Read the text out of a QR code or barcode in a PNG or JPEG image. Auto-detects QR, DataMatrix, PDF417, Aztec and 1D symbologies (Code128/39/93, EAN-13/8, UPC-A/E, ITF, Codabar). A valid image with no code returns { found: false }; a payload that is not a parseable image is a 400.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.004000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"4000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Read the text out of a QR code or barcode in a PNG or JPEG image. Auto-detects QR, DataMatrix, PDF417, Aztec and 1D symbologies (Code128/39/93, EAN-13/8, UPC-A/E, ITF, Codabar). A valid image with no code returns { found: false }; a payload that is not a parseable image is a 400.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"4000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Read the text out of a QR code or barcode in a PNG or JPEG image. Auto-detects QR, DataMatrix, PDF417, Aztec and 1D symbologies (Code128/39/93, EAN-13/8, UPC-A/E, ITF, Codabar). A valid image with no code returns { found: false }; a payload that is not a parseable image is a 400.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}}},"x-service-info":{"categories":["compute"],"docs":{"homepage":"https://qr.openverbs.com","apiReference":"https://qr.openverbs.com/openapi.json"}}}