{
  "openapi": "3.1.0",
  "info": {
    "title": "Just Give Me The QR — prefill links",
    "version": "1.0.0",
    "summary": "How to link into a free, browser-only QR code generator with fields already filled in.",
    "description": "This site has no server-side API. QR codes are generated by JavaScript in the browser and never uploaded. What it does offer is a stable link format: every generator page accepts its fields as query parameters, so an agent can build a link that opens the generator ready to download. There are no error responses, no authentication and no rate limits, because there is nothing but static files.",
    "license": {
      "name": "Source available",
      "url": "https://github.com/Caml2001/justgivemetheqr.com"
    },
    "x-stability": "Field names are the ones shown in each form and are meant to be permanent; aliases exist so short links keep working. There is no versioned path because nothing here is an API that can break: a link that worked once keeps working. Any change would be announced in the repository first."
  },
  "servers": [
    {
      "url": "https://justgivemetheqr.com"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "operationId": "openUrlGenerator",
        "summary": "Open the Link QR generator, optionally prefilled",
        "description": "Returns the HTML page for the Link QR code generator. Any query parameter listed here prefills the matching field; the QR code is then rendered in the visitor's browser. Nothing is stored or downloaded automatically. This is a page for a person to open, not an image endpoint.",
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": false,
            "description": "Link. Aliases: u, link.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Preselect a content type on the home page instead of visiting its own page.",
            "schema": {
              "type": "string",
              "enum": [
                "url",
                "wifi",
                "whatsapp",
                "vcard",
                "text",
                "email",
                "sms",
                "phone",
                "location"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The generator page, prefilled.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No such page. The site is static, so this is a plain HTML 404 with links to the sitemap and llms.txt.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/wifi": {
      "get": {
        "operationId": "openWifiGenerator",
        "summary": "Open the WiFi QR generator, optionally prefilled",
        "description": "Returns the HTML page for the WiFi QR code generator. Any query parameter listed here prefills the matching field; the QR code is then rendered in the visitor's browser. Nothing is stored or downloaded automatically. This is a page for a person to open, not an image endpoint.",
        "parameters": [
          {
            "name": "ssid",
            "in": "query",
            "required": false,
            "description": "Network name (SSID). Exactly as it appears in the WiFi list — capitals and spaces count. Aliases: s, network.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "password",
            "in": "query",
            "required": false,
            "description": "Password. Aliases: p, pass.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "security",
            "in": "query",
            "required": false,
            "description": "Security. Aliases: t, type. One of: WPA, WEP, nopass.",
            "schema": {
              "type": "string",
              "enum": [
                "WPA",
                "WEP",
                "nopass"
              ]
            }
          },
          {
            "name": "hidden",
            "in": "query",
            "required": false,
            "description": "Hidden network. Tick this only if the network does not broadcast its name. Aliases: h.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The generator page, prefilled.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No such page. The site is static, so this is a plain HTML 404 with links to the sitemap and llms.txt.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/whatsapp": {
      "get": {
        "operationId": "openWhatsappGenerator",
        "summary": "Open the WhatsApp QR generator, optionally prefilled",
        "description": "Returns the HTML page for the WhatsApp QR code generator. Any query parameter listed here prefills the matching field; the QR code is then rendered in the visitor's browser. Nothing is stored or downloaded automatically. This is a page for a person to open, not an image endpoint.",
        "parameters": [
          {
            "name": "phone",
            "in": "query",
            "required": false,
            "description": "Phone number with country code. WhatsApp needs the country code. Spaces and dashes are stripped for you. Aliases: number, n.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "message",
            "in": "query",
            "required": false,
            "description": "Pre-filled message (optional). Aliases: text, m.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The generator page, prefilled.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No such page. The site is static, so this is a plain HTML 404 with links to the sitemap and llms.txt.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/vcard": {
      "get": {
        "operationId": "openVcardGenerator",
        "summary": "Open the Contact QR generator, optionally prefilled",
        "description": "Returns the HTML page for the Contact QR code generator. Any query parameter listed here prefills the matching field; the QR code is then rendered in the visitor's browser. Nothing is stored or downloaded automatically. This is a page for a person to open, not an image endpoint.",
        "parameters": [
          {
            "name": "first",
            "in": "query",
            "required": false,
            "description": "First name. Aliases: firstname, fn.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "last",
            "in": "query",
            "required": false,
            "description": "Last name. Aliases: lastname, ln.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "org",
            "in": "query",
            "required": false,
            "description": "Organisation.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "title",
            "in": "query",
            "required": false,
            "description": "Job title. Aliases: role.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "phone",
            "in": "query",
            "required": false,
            "description": "Mobile. Aliases: tel, mobile, cell.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workPhone",
            "in": "query",
            "required": false,
            "description": "Work phone. Aliases: work, worktel.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "description": "Email. Aliases: mail.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "url",
            "in": "query",
            "required": false,
            "description": "Website. Aliases: website.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "street",
            "in": "query",
            "required": false,
            "description": "Street. Aliases: address, adr.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "required": false,
            "description": "City. Aliases: town, locality.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "region",
            "in": "query",
            "required": false,
            "description": "Region. Aliases: state, province.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "postcode",
            "in": "query",
            "required": false,
            "description": "Postcode. Aliases: zip, postalcode.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Country.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "note",
            "in": "query",
            "required": false,
            "description": "Note.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The generator page, prefilled.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No such page. The site is static, so this is a plain HTML 404 with links to the sitemap and llms.txt.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/text": {
      "get": {
        "operationId": "openTextGenerator",
        "summary": "Open the Text QR generator, optionally prefilled",
        "description": "Returns the HTML page for the Text QR code generator. Any query parameter listed here prefills the matching field; the QR code is then rendered in the visitor's browser. Nothing is stored or downloaded automatically. This is a page for a person to open, not an image endpoint.",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "description": "Text. Aliases: t, q.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The generator page, prefilled.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No such page. The site is static, so this is a plain HTML 404 with links to the sitemap and llms.txt.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/email": {
      "get": {
        "operationId": "openEmailGenerator",
        "summary": "Open the Email QR generator, optionally prefilled",
        "description": "Returns the HTML page for the Email QR code generator. Any query parameter listed here prefills the matching field; the QR code is then rendered in the visitor's browser. Nothing is stored or downloaded automatically. This is a page for a person to open, not an image endpoint.",
        "parameters": [
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "To. Aliases: email, address, e.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "subject",
            "in": "query",
            "required": false,
            "description": "Subject (optional). Aliases: s.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "body",
            "in": "query",
            "required": false,
            "description": "Message (optional). Aliases: b, message.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The generator page, prefilled.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No such page. The site is static, so this is a plain HTML 404 with links to the sitemap and llms.txt.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/sms": {
      "get": {
        "operationId": "openSmsGenerator",
        "summary": "Open the SMS QR generator, optionally prefilled",
        "description": "Returns the HTML page for the SMS QR code generator. Any query parameter listed here prefills the matching field; the QR code is then rendered in the visitor's browser. Nothing is stored or downloaded automatically. This is a page for a person to open, not an image endpoint.",
        "parameters": [
          {
            "name": "phone",
            "in": "query",
            "required": false,
            "description": "Phone number. Aliases: number, n.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "message",
            "in": "query",
            "required": false,
            "description": "Message (optional). Aliases: text, body, m.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The generator page, prefilled.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No such page. The site is static, so this is a plain HTML 404 with links to the sitemap and llms.txt.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/phone": {
      "get": {
        "operationId": "openPhoneGenerator",
        "summary": "Open the Phone QR generator, optionally prefilled",
        "description": "Returns the HTML page for the Phone QR code generator. Any query parameter listed here prefills the matching field; the QR code is then rendered in the visitor's browser. Nothing is stored or downloaded automatically. This is a page for a person to open, not an image endpoint.",
        "parameters": [
          {
            "name": "phone",
            "in": "query",
            "required": false,
            "description": "Phone number. Include the country code if the code will be scanned from abroad. Aliases: number, tel, n.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The generator page, prefilled.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No such page. The site is static, so this is a plain HTML 404 with links to the sitemap and llms.txt.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/location": {
      "get": {
        "operationId": "openLocationGenerator",
        "summary": "Open the Location QR generator, optionally prefilled",
        "description": "Returns the HTML page for the Location QR code generator. Any query parameter listed here prefills the matching field; the QR code is then rendered in the visitor's browser. Nothing is stored or downloaded automatically. This is a page for a person to open, not an image endpoint.",
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "required": false,
            "description": "Latitude. Decimal degrees, -90 to 90. Aliases: latitude.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lng",
            "in": "query",
            "required": false,
            "description": "Longitude. Decimal degrees, -180 to 180. Aliases: longitude, lon, long.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The generator page, prefilled.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "404": {
            "description": "No such page. The site is static, so this is a plain HTML 404 with links to the sitemap and llms.txt.",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }
}