{"openapi":"3.1.0","info":{"title":"QR Code with Logo API","version":"1.0.0","description":"Generate branded QR codes with a centre logo overlay, custom foreground and background colors, chosen size and error-correction level, as PNG or SVG. When a logo is supplied the error-correction level is raised automatically so the code stays scannable, and the logo is placed on a rounded white plate in the centre. Includes one-call helpers that build the correct payload for you: a Wi-Fi-join QR (SSID, password, encryption, hidden), a vCard contact QR (name, phone, email, organisation, title, URL, address) and a batch endpoint that returns up to 100 QR codes in a single request. Supply a logo by public URL, base64 or a raw binary body; receive results as base64 PNG/SVG JSON or, with raw=1, the raw image bytes. Pure server-side rendering (qrcode + sharp), no third-party upstream. Ideal for marketing and packaging, business cards and events, restaurant menus, Wi-Fi sharing and app onboarding.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/qrlogo-api","description":"oanor gateway"}],"tags":[{"name":"QR"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/batch":{"get":{"operationId":"get_v1_batch","tags":["QR"],"summary":"Up to 100 QR codes at once","description":"","parameters":[{"name":"items","in":"query","required":true,"description":"Array or comma/newline list of strings","schema":{"type":"string"},"example":"a,b,c"},{"name":"size","in":"query","required":false,"description":"Size","schema":{"type":"string"},"example":"512"},{"name":"ecc","in":"query","required":false,"description":"L|M|Q|H","schema":{"type":"string"},"example":"M"},{"name":"fg","in":"query","required":false,"description":"Foreground hex","schema":{"type":"string"},"example":"#000000"},{"name":"bg","in":"query","required":false,"description":"Background hex","schema":{"type":"string"},"example":"#ffffff"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/generate":{"get":{"operationId":"get_v1_generate","tags":["QR"],"summary":"Branded QR code (with optional logo)","description":"","parameters":[{"name":"data","in":"query","required":true,"description":"Text or URL to encode","schema":{"type":"string"},"example":"https://oanor.com"},{"name":"size","in":"query","required":false,"description":"64..2000","schema":{"type":"string"},"example":"512"},{"name":"margin","in":"query","required":false,"description":"Quiet-zone modules","schema":{"type":"string"},"example":"2"},{"name":"ecc","in":"query","required":false,"description":"L|M|Q|H","schema":{"type":"string"},"example":"H"},{"name":"fg","in":"query","required":false,"description":"Foreground hex","schema":{"type":"string"},"example":"#1a3d7c"},{"name":"bg","in":"query","required":false,"description":"Background hex","schema":{"type":"string"},"example":"#ffffff"},{"name":"format","in":"query","required":false,"description":"png|svg","schema":{"type":"string"},"example":"png"},{"name":"logo_url","in":"query","required":false,"description":"Logo image URL","schema":{"type":"string"}},{"name":"logo_base64","in":"query","required":false,"description":"Logo base64","schema":{"type":"string"}},{"name":"logo_size","in":"query","required":false,"description":"Logo size 5..30 %","schema":{"type":"string"},"example":"22"},{"name":"raw","in":"query","required":false,"description":"raw=1 for image bytes","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/vcard":{"get":{"operationId":"get_v1_vcard","tags":["QR"],"summary":"vCard contact QR code","description":"","parameters":[{"name":"name","in":"query","required":true,"description":"Full name","schema":{"type":"string"},"example":"Jane Doe"},{"name":"phone","in":"query","required":false,"description":"Phone","schema":{"type":"string"},"example":"+15550001234"},{"name":"email","in":"query","required":false,"description":"Email","schema":{"type":"string"},"example":"jane@example.com"},{"name":"org","in":"query","required":false,"description":"Organisation","schema":{"type":"string"},"example":"Acme"},{"name":"title","in":"query","required":false,"description":"Job title","schema":{"type":"string"},"example":"CEO"},{"name":"url","in":"query","required":false,"description":"Website","schema":{"type":"string"}},{"name":"address","in":"query","required":false,"description":"Address","schema":{"type":"string"}},{"name":"raw","in":"query","required":false,"description":"raw=1","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/wifi":{"get":{"operationId":"get_v1_wifi","tags":["QR"],"summary":"Wi-Fi join QR code","description":"","parameters":[{"name":"ssid","in":"query","required":true,"description":"Network name","schema":{"type":"string"},"example":"MyCafe"},{"name":"password","in":"query","required":false,"description":"Password","schema":{"type":"string"},"example":"secret123"},{"name":"encryption","in":"query","required":false,"description":"WPA|WEP|nopass","schema":{"type":"string"},"example":"WPA"},{"name":"hidden","in":"query","required":false,"description":"Hidden network","schema":{"type":"string"},"example":"false"},{"name":"size","in":"query","required":false,"description":"Size","schema":{"type":"string"},"example":"512"},{"name":"raw","in":"query","required":false,"description":"raw=1","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":11000,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":680,"monthly_call_quota":130000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2000,"monthly_call_quota":950000,"rps_limit":16,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5300,"monthly_call_quota":4800000,"rps_limit":45,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/qrlogo-api"}