{
    "service": "qr.iidp.dev",
    "endpoints": {
        "GET /qr": "Query parameters. Also accepts /qr.png, /qr.svg, /qr.webp, /qr.gif.",
        "POST /qr": "JSON body with the same fields.",
        "GET /health": "Service and capability check. No API key required."
    },
    "auth": "Send the shared key as X-API-Key, Authorization: Bearer, or ?key=.",
    "parameters": {
        "data": "required. Text to encode. Max 2953 bytes.",
        "size": "optional. 50-2000, default 300.",
        "margin": "optional. 0-100, default 10.",
        "format": "optional. png, svg, webp, gif. Default png.",
        "ecc": "optional. low, medium, quartile, high. Default medium.",
        "fg": "optional. Hex colour, default 000000.",
        "bg": "optional. Hex colour, default ffffff.",
        "label": "optional. Caption under the code. Not supported for svg.",
        "download": "optional. Set to 1 to send a Content-Disposition attachment header."
    }
}