{
  "openapi": "3.1.0",
  "info": {
    "title": "FreeQR API",
    "version": "1.0.0",
    "description": "Keyless, free-forever QR code API. No signup, no API keys, no watermark, no limits beyond fair use. Deterministic responses are cached forever. Every 4xx error is problem+json with a `fix` field containing a corrected call.",
    "license": {
      "name": "MIT",
      "url": "https://github.com/rajkaria/free-qr/blob/main/LICENSE"
    }
  },
  "servers": [
    {
      "url": "https://useqr.app"
    }
  ],
  "paths": {
    "/api/v1/qr": {
      "get": {
        "operationId": "generate_qr",
        "summary": "Generate a QR code from any string",
        "parameters": [
          {
            "name": "data",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The exact string to encode (aliases: text, content, url, q)."
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/url": {
      "get": {
        "operationId": "generate_url",
        "summary": "Generate a url QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/url?url=example.com&utm_source=poster&utm_medium=qr",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_source",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_medium",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_campaign",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_term",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_content",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/text": {
      "get": {
        "operationId": "generate_text",
        "summary": "Generate a text QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/text?text=hello",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/wifi": {
      "get": {
        "operationId": "generate_wifi",
        "summary": "Generate a wifi QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/wifi?ssid=CafeGuest&password=espresso&security=WPA",
        "parameters": [
          {
            "name": "ssid",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "password",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "security",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "hidden",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/vcard": {
      "get": {
        "operationId": "generate_vcard",
        "summary": "Generate a vcard QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/vcard?fn=Asha&ln=Rao&phone=%2B919876543210&email=asha%40example.com",
        "parameters": [
          {
            "name": "fn",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ln",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "org",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "title",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone2",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "street",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "zip",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/mecard": {
      "get": {
        "operationId": "generate_mecard",
        "summary": "Generate a mecard QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/mecard?fn=Asha&ln=Rao&phone=%2B919876543210",
        "parameters": [
          {
            "name": "fn",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ln",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/email": {
      "get": {
        "operationId": "generate_email",
        "summary": "Generate a email QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/email?to=hi%40example.com&subject=Hello",
        "parameters": [
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subject",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "body",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cc",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/phone": {
      "get": {
        "operationId": "generate_phone",
        "summary": "Generate a phone QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/phone?number=%2B14155550123",
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/sms": {
      "get": {
        "operationId": "generate_sms",
        "summary": "Generate a sms QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/sms?number=%2B14155550123&message=Hi",
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "message",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/whatsapp": {
      "get": {
        "operationId": "generate_whatsapp",
        "summary": "Generate a whatsapp QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/whatsapp?number=919876543210&message=Hi",
        "parameters": [
          {
            "name": "number",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "message",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/telegram": {
      "get": {
        "operationId": "generate_telegram",
        "summary": "Generate a telegram QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/telegram?username=durov",
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/event": {
      "get": {
        "operationId": "generate_event",
        "summary": "Generate a event QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/event?title=Launch&start=2026-09-01T18:00:00%2B05:30",
        "parameters": [
          {
            "name": "title",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "start",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "end",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "description",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "allday",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "reminder",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/geo": {
      "get": {
        "operationId": "generate_geo",
        "summary": "Generate a geo QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/geo?lat=19.076&lng=72.8777",
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lng",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/upi": {
      "get": {
        "operationId": "generate_upi",
        "summary": "Generate a upi QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/upi?pa=shop%40okhdfcbank&pn=Sharma%20Store&am=499.00",
        "parameters": [
          {
            "name": "pa",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pn",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "am",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tn",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "mc",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tr",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/paypal": {
      "get": {
        "operationId": "generate_paypal",
        "summary": "Generate a paypal QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/paypal?user=ashadesigns&amount=25.00",
        "parameters": [
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/bitcoin": {
      "get": {
        "operationId": "generate_bitcoin",
        "summary": "Generate a bitcoin QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/bitcoin?address=bc1q...&amount=0.001",
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "message",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ethereum": {
      "get": {
        "operationId": "generate_ethereum",
        "summary": "Generate a ethereum QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/ethereum?address=0x...&chain=1",
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "chain",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "value",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/pix": {
      "get": {
        "operationId": "generate_pix",
        "summary": "Generate a pix QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/pix?key=a%40b.com&name=Loja&city=SaoPaulo",
        "parameters": [
          {
            "name": "key",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "txid",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/epc": {
      "get": {
        "operationId": "generate_epc",
        "summary": "Generate a epc QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/epc?name=ACME&iban=DE89370400440532013000&amount=100",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "iban",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "bic",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "remittance",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/social": {
      "get": {
        "operationId": "generate_social",
        "summary": "Generate a social QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/social?ig=freeqr&gh=freeqr",
        "parameters": [
          {
            "name": "ig",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "x",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "li",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "yt",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tt",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "gh",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fb",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "web",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/app-download": {
      "get": {
        "operationId": "generate_app_download",
        "summary": "Generate a app-download QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/app-download?ios=https://apps.apple.com/...&android=https://play.google.com/...",
        "parameters": [
          {
            "name": "ios",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "android",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fallback",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/google-review": {
      "get": {
        "operationId": "generate_google_review",
        "summary": "Generate a google-review QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/google-review?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4",
        "parameters": [
          {
            "name": "placeid",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/menu": {
      "get": {
        "operationId": "generate_menu",
        "summary": "Generate a menu QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/menu?url=example.com/menu.pdf",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_source",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_medium",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_campaign",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_term",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_content",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/feedback": {
      "get": {
        "operationId": "generate_feedback",
        "summary": "Generate a feedback QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/feedback?url=forms.gle/abc",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_source",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_medium",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_campaign",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_term",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_content",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/pdf": {
      "get": {
        "operationId": "generate_pdf",
        "summary": "Generate a pdf QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/pdf?url=example.com/manual.pdf",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_source",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_medium",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_campaign",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_term",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_content",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/coupon": {
      "get": {
        "operationId": "generate_coupon",
        "summary": "Generate a coupon QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/coupon?code=SAVE20",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_source",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_medium",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_campaign",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_term",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_content",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "utm_id",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/litecoin": {
      "get": {
        "operationId": "generate_litecoin",
        "summary": "Generate a litecoin QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/litecoin?address=LcHKX9RQ7EmuALKweCkSTZ1zqFRHvJnDvL&amount=1.5",
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "message",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/bitcoin-cash": {
      "get": {
        "operationId": "generate_bitcoin_cash",
        "summary": "Generate a bitcoin-cash QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/bitcoin-cash?address=qpm2qsznhks23z7629mms6s4cwef74vcwvy22gdx6a",
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "message",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/dogecoin": {
      "get": {
        "operationId": "generate_dogecoin",
        "summary": "Generate a dogecoin QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/dogecoin?address=DH5yaieqoZN36fDVciNyRueRGvGLR3mr7L&amount=100",
        "parameters": [
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "message",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/crypto": {
      "get": {
        "operationId": "generate_crypto",
        "summary": "Generate a crypto QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/crypto?chain=dash&address=XnZfEsGeJhVRhJpuLYUvbeCHNCcvxqoMTh",
        "parameters": [
          {
            "name": "chain",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scheme",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "address",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "message",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/json": {
      "get": {
        "operationId": "generate_json",
        "summary": "Generate a json QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/json?json=%7B%22a%22%3A1%7D",
        "parameters": [
          {
            "name": "json",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/base64": {
      "get": {
        "operationId": "generate_base64",
        "summary": "Generate a base64 QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/base64?text=hello",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "b64",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh": {
      "get": {
        "operationId": "generate_ssh",
        "summary": "Generate a ssh QR code from typed fields",
        "description": "Example: https://useqr.app/api/v1/ssh?url=git%40github.com%3Auser%2Frepo.git",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "The QR code (content type follows format=).",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Teaching error: problem+json with a `fix` field containing a corrected call.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "status": {
                      "type": "integer"
                    },
                    "detail": {
                      "type": "string"
                    },
                    "field": {
                      "type": "string"
                    },
                    "fix": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/qr/batch": {
      "post": {
        "operationId": "generate_batch",
        "summary": "Generate up to 1,000 QR codes in one keyless call",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "items"
                ],
                "properties": {
                  "output": {
                    "type": "string",
                    "enum": [
                      "url",
                      "base64",
                      "svg"
                    ],
                    "default": "base64",
                    "description": "url returns deterministic cache-forever GET urls (nothing is rendered, so up to 1,000 items); base64 and svg render inline and cap at 100."
                  },
                  "verify": {
                    "type": "boolean",
                    "description": "Decode every code and report scannability. Max 50 items."
                  },
                  "style": {
                    "type": "object",
                    "description": "Style applied to every item; accepts the same params as GET /api/v1/qr (size, color, bg, style, eye, ec, margin)."
                  },
                  "items": {
                    "type": "array",
                    "maxItems": 1000,
                    "items": {
                      "type": "object",
                      "properties": {
                        "data": {
                          "type": "string",
                          "description": "Exact string to encode."
                        },
                        "type": {
                          "type": "string",
                          "description": "A typed payload name, e.g. wifi, vcard, upi."
                        },
                        "fields": {
                          "type": "object",
                          "description": "Params for the chosen type."
                        },
                        "id": {
                          "type": "string",
                          "description": "Echoed back in the result."
                        },
                        "style": {
                          "type": "object",
                          "description": "Per-item style overrides."
                        },
                        "size": {
                          "type": "integer"
                        },
                        "format": {
                          "type": "string",
                          "enum": [
                            "png",
                            "svg"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "{count, ok, failed, results:[{index, id?, ok, format, data, url|base64|svg, verified?, error?, fix?}]} — item failures never fail the batch.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/decode": {
      "get": {
        "operationId": "decode_url",
        "summary": "Decode the QR code(s) in an image at a public URL",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Decoded codes: {count, codes:[{text, format}]}.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "decode_image",
        "summary": "Decode an uploaded image (raw bytes, multipart `file`, or JSON {url})",
        "responses": {
          "200": {
            "description": "Decoded codes: {count, codes:[{text, format}]}.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/verify": {
      "get": {
        "operationId": "verify_qr",
        "summary": "Render, rasterize, and decode a design to prove it scans",
        "parameters": [
          {
            "name": "data",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "size",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 64,
              "maximum": 4096,
              "default": 512
            },
            "description": "Output width in pixels (aliases: width)."
          },
          {
            "name": "format",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "png",
                "svg",
                "svg-tiny",
                "json",
                "base64"
              ],
              "default": "png"
            },
            "description": "png image, svg markup, svg-tiny (SVG Tiny 1.2 for Illustrator/print/cutting), json module matrix, or base64 data URI (aliases: type, output)."
          },
          {
            "name": "color",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Foreground hex color, with or without # (aliases: fg, dark)."
          },
          {
            "name": "bg",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Background hex color or \"transparent\" (aliases: light, background)."
          },
          {
            "name": "style",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "dot",
                "diamond",
                "star",
                "vertical-bars",
                "horizontal-bars",
                "organic"
              ]
            },
            "description": "Module shape (alias: dots)."
          },
          {
            "name": "eye",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "square",
                "rounded",
                "circle",
                "leaf",
                "diamond"
              ]
            },
            "description": "Finder-eye shape."
          },
          {
            "name": "ec",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "L",
                "M",
                "Q",
                "H"
              ]
            },
            "description": "Error correction level (H survives the most damage)."
          },
          {
            "name": "margin",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 10,
              "default": 4
            },
            "description": "Quiet zone in modules (alias: quiet)."
          }
        ],
        "responses": {
          "200": {
            "description": "Verify report: {scannable, decoded, matchesInput, version, ecLevel, contrast, issues[]}.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  }
}