List QR codes
curl --request GET \
--url https://management.scanova.io/qr/ \
--header 'Authorization: <api-key>'import requests
url = "https://management.scanova.io/qr/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://management.scanova.io/qr/', 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://management.scanova.io/qr/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://management.scanova.io/qr/"
req, _ := http.NewRequest("GET", 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.get("https://management.scanova.io/qr/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://management.scanova.io/qr/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 214,
"next": 2,
"previous": null,
"results": [
{
"id": 88231,
"qrid": "QR7K9M2XN",
"name": "Product launch flyer",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"category": {
"id": 1,
"name": "Website URL",
"slug": "url",
"description": "Link a QR code straight to any website.",
"preview_image": "https://cdn.scanova.io/categories/url.png",
"allowed_qr_types": ["dy", "st"],
"allowed_qr_types_display": ["Dynamic", "Static"],
"is_active": true
},
"dynamic_url_object": {
"url_hash": "a1b2c3",
"complete_url": "https://qr.link/a1b2c3",
"visit_count": 1042
},
"thumbnail": "https://cdn.scanova.io/thumbnails/QR7K9M2XN.png",
"is_active": true,
"folder": null,
"created": "2026-06-02T14:03:11Z",
"modified": "2026-08-10T08:41:02Z",
"tags_list": ["campaign-2026", "print"],
"is_password_protected": false,
"is_age_restricted": false,
"created_by": { "full_name": "Jordan Lee" },
"published_at": "2026-06-02T14:05:00Z",
"is_currently_draft": false
}
]
}
API de gestion — Codes QR
Lister les QR codes
GET /qr/
GET
/
qr
/
List QR codes
curl --request GET \
--url https://management.scanova.io/qr/ \
--header 'Authorization: <api-key>'import requests
url = "https://management.scanova.io/qr/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://management.scanova.io/qr/', 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://management.scanova.io/qr/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://management.scanova.io/qr/"
req, _ := http.NewRequest("GET", 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.get("https://management.scanova.io/qr/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://management.scanova.io/qr/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 214,
"next": 2,
"previous": null,
"results": [
{
"id": 88231,
"qrid": "QR7K9M2XN",
"name": "Product launch flyer",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"category": {
"id": 1,
"name": "Website URL",
"slug": "url",
"description": "Link a QR code straight to any website.",
"preview_image": "https://cdn.scanova.io/categories/url.png",
"allowed_qr_types": ["dy", "st"],
"allowed_qr_types_display": ["Dynamic", "Static"],
"is_active": true
},
"dynamic_url_object": {
"url_hash": "a1b2c3",
"complete_url": "https://qr.link/a1b2c3",
"visit_count": 1042
},
"thumbnail": "https://cdn.scanova.io/thumbnails/QR7K9M2XN.png",
"is_active": true,
"folder": null,
"created": "2026-06-02T14:03:11Z",
"modified": "2026-08-10T08:41:02Z",
"tags_list": ["campaign-2026", "print"],
"is_password_protected": false,
"is_age_restricted": false,
"created_by": { "full_name": "Jordan Lee" },
"published_at": "2026-06-02T14:05:00Z",
"is_currently_draft": false
}
]
}
Liste ou crée des QR codes sur l’hôte Management API (
management.scanova.io), authentifié avec votre clé Management API brute — voir la vue d’ensemble si vous ne l’avez pas encore configurée.
GET https://management.scanova.io/qr/
POST https://management.scanova.io/qr/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
GET /qr/ renvoie une liste paginée et filtrable des QR codes appartenant au compte auquel appartient la clé.
Paramètres de requête
string
Recherche en texte libre sur le nom du QR code, le
qrid, le slug de l’URL dynamique et le nom du dossier.string
Slugs de catégorie séparés par des virgules, par ex.
url,event. Correspond à n’importe laquelle des catégories listées.string
Noms de tags séparés par des virgules. Correspond à n’importe lequel des tags listés.
string
Types de QR code séparés par des virgules :
dy (Dynamique), st (Statique).integer
ID de dossier — renvoie uniquement les QR codes de ce dossier.
string
Date ISO. Renvoie les QR codes créés à cette date ou après.
string
Date ISO. Renvoie les QR codes créés à cette date ou avant.
string
Un ou plusieurs de
name, created, qr_type, category__name, séparés par des virgules. Préfixez un champ de - pour un tri descendant, par ex. ordering=-created.integer
défaut:"1"
Numéro de page.
integer
défaut:"10"
Résultats par page, jusqu’à un maximum de
100.{
"count": 214,
"next": 2,
"previous": null,
"results": [
{
"id": 88231,
"qrid": "QR7K9M2XN",
"name": "Product launch flyer",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"category": {
"id": 1,
"name": "Website URL",
"slug": "url",
"description": "Link a QR code straight to any website.",
"preview_image": "https://cdn.scanova.io/categories/url.png",
"allowed_qr_types": ["dy", "st"],
"allowed_qr_types_display": ["Dynamic", "Static"],
"is_active": true
},
"dynamic_url_object": {
"url_hash": "a1b2c3",
"complete_url": "https://qr.link/a1b2c3",
"visit_count": 1042
},
"thumbnail": "https://cdn.scanova.io/thumbnails/QR7K9M2XN.png",
"is_active": true,
"folder": null,
"created": "2026-06-02T14:03:11Z",
"modified": "2026-08-10T08:41:02Z",
"tags_list": ["campaign-2026", "print"],
"is_password_protected": false,
"is_age_restricted": false,
"created_by": { "full_name": "Jordan Lee" },
"published_at": "2026-06-02T14:05:00Z",
"is_currently_draft": false
}
]
}
next et previous sont des numéros de page (ou null), pas des URL complètes — la pagination de cette API diffère à cet égard de la PageNumberPagination DRF classique. Récupérez la page suivante avec ?page=2, et non en suivant une URL de la réponse.category est l’objet catégorie complet — les champs montrés ci-dessus sont un sous-ensemble représentatif ; ce même objet porte aussi tags, is_new, has_landing_page, helpdesk_link, qr_name_pattern, created et modified. dynamic_url_object n’est présent que pour les QR codes Dynamiques (dy).Voir aussi
- Créer un QR code — l’autre opération de ce même endpoint.
- Récupérer — opérez sur un QR code unique renvoyé par cette liste.
- Mettre à jour — opérez sur un QR code unique renvoyé par cette liste.
- Supprimer — opérez sur un QR code unique renvoyé par cette liste.
- Télécharger l’image d’un QR code — générez l’un de ces QR codes en PNG/SVG/PDF/etc.
- Lister les QR codes dans la corbeille — où va un QR code après avoir été supprimé de cette liste.
- Vue d’ensemble de la Management API — le schéma d’authentification et les règles de quotas qui s’appliquent à cet endpoint.
Autorisations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. 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. management.scanova.io) — the same key sent to the regular API host will not authenticate.
Réponse
200
List of QR codes
Cette page vous a-t-elle été utile ?
⌘I