TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/hxmz-axfn07/qr-printing-sfw/llms.txt
Use this file to discover all available pages before exploring further.
/api/config endpoint is the first request the customer upload page makes on load. It supplies everything the front-end needs to render the upload form: shop branding, pricing rules, available print options, and the URL customers should post their order to. No authentication is required.
GET /api/config
config.yml, the settings database table, and the pricing database table before responding, so the response always reflects the latest admin-configured values.
Response Fields
Branding and operational details for the print shop.
Hex color values used to style the customer-facing pages.
Each entry describes the price per page for one combination of paper size, color mode, and print style. Loaded live from the
pricing database table.Enumeration of valid values for per-document print settings, used to populate the upload form’s dropdowns.
The full URL customers should use to access the upload page. Derived from
PUBLIC_URL in .env if set, otherwise auto-detected from the server’s LAN IP and port, e.g. "http://192.168.1.10:8000/upload". This is the URL encoded into the QR code.Always
"secret-url". Indicates that the admin dashboard is accessed via the secret URL pattern /admin/<ADMIN_TOKEN>.Currency symbol used when displaying prices, e.g.
"Rs". Read from the currency_symbol row in the settings database table. Only present in the response when a value is configured.Example Response
GET /qr.png
image/png binary. The QR code encodes the uploadUrl value — scanning it navigates a customer’s phone directly to the upload page.
No authentication required.
The server regenerates the QR image in the background every QR_REFRESH_SECONDS (default 5) seconds and also regenerates it on every request to /qr.png, so the image always reflects the current uploadUrl. The image is cached to qr-codes/upload.png on disk.
Response: 200 OK with Content-Type: image/png.
Error: 503 Service Unavailable with {"error": "Install qrcode package to render PNG QR"} if the qrcode Python package is not installed.