Update a QR code (partial)
curl --request PATCH \
--url https://api.scanova.io/qr/{qrid}/ \
--header 'Authorization: <api-key>'import requests
url = "https://api.scanova.io/qr/{qrid}/"
headers = {"Authorization": "<api-key>"}
response = requests.patch(url, headers=headers)
print(response.text)const options = {method: 'PATCH', headers: {Authorization: '<api-key>'}};
fetch('https://api.scanova.io/qr/{qrid}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.scanova.io/qr/{qrid}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.scanova.io/qr/{qrid}/"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.scanova.io/qr/{qrid}/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scanova.io/qr/{qrid}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyLead List Management
Attach Lead List to QR Code
PATCH
/
qr
/
{qrid}
/
Update a QR code (partial)
curl --request PATCH \
--url https://api.scanova.io/qr/{qrid}/ \
--header 'Authorization: <api-key>'import requests
url = "https://api.scanova.io/qr/{qrid}/"
headers = {"Authorization": "<api-key>"}
response = requests.patch(url, headers=headers)
print(response.text)const options = {method: 'PATCH', headers: {Authorization: '<api-key>'}};
fetch('https://api.scanova.io/qr/{qrid}/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.scanova.io/qr/{qrid}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.scanova.io/qr/{qrid}/"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.scanova.io/qr/{qrid}/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scanova.io/qr/{qrid}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_bodyOverview
Attaches a lead list to a QR code. When users scan the QR code, they will be prompted to fill out the lead capture form before accessing the content.Path Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
qrid | string | Yes | QR code ID | Qc3ca09e1a5574caf |
Request Body
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
lead_list | integer | Yes | Lead list ID to attach to the QR code | 221 |
Examples
Attach Lead List to QR Code
curl -X PATCH "https://management.scanova.io/qr/Qc3ca09e1a5574caf/" \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"lead_list": 221
}'
Response
Returns the updated QR code object with the lead list information included in thedynamic_url_object.
Lead List Behavior
When a lead list is attached to a QR code:- User scans QR code
- Lead capture form is displayed (based on lead list configuration)
- User fills out the form (or skips if allowed)
- User is redirected to the original QR code content
- Lead data is captured and sent to configured webhooks
Important Notes
- One Lead List Per QR Code: Each QR code can only have one lead list attached
- Multiple QR Codes: One lead list can be attached to multiple QR codes
- Active Lead Lists Only: Only active lead lists can be attached
- Immediate Effect: Changes take effect immediately
Use Cases
- Lead Generation: Capture leads from QR code scans
- Event Registration: Collect attendee information at events
- Customer Feedback: Gather feedback before accessing content
- Contact Collection: Build contact lists from QR code interactions
- Survey Data: Collect survey responses through QR codes
The lead list must be active (
is_active: true) to be attached to a QR code. If you try to attach an inactive lead list, the request will fail.Attaching a lead list to a QR code will immediately start capturing leads. Make sure your lead list is properly configured and your webhooks are set up before attaching.
Authorizations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: YOUR_API_KEY. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. api.scanova.io) — the same key sent to the regular API host will not authenticate.
Path Parameters
Response
200
QR code updated
Was this page helpful?