Retrieve a QR code
curl --request GET \
--url https://management.scanova.io/qrcode/{qrid}/ \
--header 'Authorization: <api-key>'import requests
url = "https://management.scanova.io/qrcode/{qrid}/"
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/qrcode/{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://management.scanova.io/qrcode/{qrid}/",
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/qrcode/{qrid}/"
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/qrcode/{qrid}/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://management.scanova.io/qrcode/{qrid}/")
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{
"id": 88231,
"qrid": "QR7K9M2XN",
"name": "Product launch flyer",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"category": { "id": 1, "name": "Website URL", "slug": "url" },
"info": "{\"type\":\"url\",\"data\":{\"url\":\"https://example.com\"}}",
"pattern_info": null,
"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,
"published_at": "2026-06-02T14:05:00Z",
"is_currently_draft": false
}
API de gestión — Códigos QR
Obtener
GET /qrcode//
GET
/
qrcode
/
{qrid}
/
Retrieve a QR code
curl --request GET \
--url https://management.scanova.io/qrcode/{qrid}/ \
--header 'Authorization: <api-key>'import requests
url = "https://management.scanova.io/qrcode/{qrid}/"
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/qrcode/{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://management.scanova.io/qrcode/{qrid}/",
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/qrcode/{qrid}/"
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/qrcode/{qrid}/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://management.scanova.io/qrcode/{qrid}/")
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{
"id": 88231,
"qrid": "QR7K9M2XN",
"name": "Product launch flyer",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"category": { "id": 1, "name": "Website URL", "slug": "url" },
"info": "{\"type\":\"url\",\"data\":{\"url\":\"https://example.com\"}}",
"pattern_info": null,
"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,
"published_at": "2026-06-02T14:05:00Z",
"is_currently_draft": false
}
Obtiene, actualiza o elimina un único código QR en el host de la API de gestión (
management.scanova.io), autenticado con tu clave sin procesar de la API de gestión.
GET https://management.scanova.io/qrcode/{qrid}/
PUT https://management.scanova.io/qrcode/{qrid}/
PATCH https://management.scanova.io/qrcode/{qrid}/
DELETE https://management.scanova.io/qrcode/{qrid}/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
string
requerido
El
qrid del código QR (p. ej. QR7K9M2XN) — el identificador legible devuelto por GET /qr/, no el id numérico.Esta misma vista también es accesible en
/qr/{qrid}/ (es decir, bajo el mismo prefijo de ruta que el endpoint de listar/crear) — ambas rutas resuelven a la misma vista y comportamiento. Esta referencia documenta /qrcode/{qrid}/ porque es la ruta verificada para este conjunto de documentación, pero ambas funcionan.GET devuelve la forma de detalle completa — todos los campos que acepta el serializador de creación/actualización, más campos calculados, pero sin los campos de asistente de IA (ai_qr_code, ai_session_id, ai_chat_history) ni los campos de recuento de respuestas entre bases de datos que el endpoint de lista también omite.
{
"id": 88231,
"qrid": "QR7K9M2XN",
"name": "Product launch flyer",
"qr_type": "dy",
"qr_type_display": "Dynamic",
"category": { "id": 1, "name": "Website URL", "slug": "url" },
"info": "{\"type\":\"url\",\"data\":{\"url\":\"https://example.com\"}}",
"pattern_info": null,
"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,
"published_at": "2026-06-02T14:05:00Z",
"is_currently_draft": false
}
Alcance y errores
Todos los métodos aquí solo operan sobre códigos QR propiedad de la cuenta a la que pertenece la clave — solicitar unqrid que no posees (o que no existe) devuelve 404, no 403, por lo que no puedes usar este endpoint para sondear la existencia de códigos QR de otras cuentas.
Relacionado
- Actualizar — la otra operación de este mismo endpoint.
- Eliminar — la otra operación de este mismo endpoint.
- Listar códigos QR — encuentra un
qridque obtener aquí. - Crear un código QR — crear un código QR devuelve esta misma forma de detalle completa.
- Descargar la imagen de un código QR — renderiza este código QR como un archivo de imagen.
- Listar códigos QR en la papelera — a dónde va a parar un código QR después de
DELETEaquí.
Autorizaciones
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.
Parámetros de ruta
Respuesta
200
QR code detail
¿Esta página le ayudó?
⌘I