{
  "service": "NoJunk QR",
  "description": "Pay-per-call QR Code generation for agents: turn any text, URL, Wi-Fi string or payment URI (up to 1500 characters) into a standards-compliant QR Code as crisp SVG, real PNG or a JSON module matrix; batch up to 25 codes in one call. Full ISO/IEC 18004 encoder (versions 1-40, ECC L/M/Q/H) computed in the Worker, no upstream services. You are only charged when a valid QR code is returned.",
  "openapi": "https://nojunk-qr.mick8511.workers.dev/openapi.json",
  "sample": "https://nojunk-qr.mick8511.workers.dev/sample.svg",
  "endpoints": {
    "/qr": {
      "method": "POST or GET",
      "url": "https://nojunk-qr.mick8511.workers.dev/qr",
      "price": "$0.001 USDC on Base per request (x402)",
      "description": "Encode one text as a QR Code (ISO/IEC 18004, versions 1-40, ECC L/M/Q/H) and return it as SVG, PNG or a JSON matrix.",
      "example_body": {
        "text": "https://nojunkcrypto.com/?ref=agent",
        "format": "json",
        "size": 256,
        "margin": 4,
        "ecc": "M",
        "dark": "#000000",
        "light": "#FFFFFF"
      },
      "max_request_bytes": 65536
    },
    "/qr/batch": {
      "method": "POST or GET",
      "url": "https://nojunk-qr.mick8511.workers.dev/qr/batch",
      "price": "$0.005 USDC on Base per request (x402)",
      "description": "Encode up to 25 texts as QR Codes in one call; returns JSON with an SVG or matrix per item.",
      "example_body": {
        "items": [
          {
            "text": "https://nojunkcrypto.com",
            "label": "home"
          },
          {
            "text": "WIFI:T:WPA;S:MyNetwork;P:secret123;;",
            "label": "wifi"
          }
        ],
        "format": "json",
        "ecc": "M"
      },
      "max_request_bytes": 65536
    }
  },
  "limits": {
    "text_chars": [
      1,
      1500
    ],
    "size_px": [
      128,
      2048
    ],
    "margin_modules": [
      0,
      8
    ],
    "ecc": [
      "L",
      "M",
      "Q",
      "H"
    ],
    "formats": [
      "svg",
      "png",
      "json"
    ],
    "batch_items": [
      1,
      25
    ],
    "versions": [
      1,
      40
    ]
  },
  "no_charge_on": [
    "400 invalid input or text that does not fit",
    "413 body too large",
    "502 encoder failure"
  ],
  "configured": true,
  "facilitator": "cdp"
}