Al crear una sesión, la respuesta trae qr.svg y qr.png: dos URLs que
devuelven el código QR del link de verificación, ya renderizado.
Sin autenticación, a propósito
Estos endpoints no piden tu API key. El token del link (lt_…) es la
autorización: quien lo tiene ya tiene el link que el QR codifica, así que el
endpoint no revela nada nuevo. Eso te permite embeberlos directo en un <img>,
en un email o en un PDF sin exponer la clave secreta:
<img
src="https://api.kyc.ar/v1/qr/lt_9pQ2vLxK7sYdN1bTfR4mHc8jWgE3aZuQ5nS0oXpVtB.svg"
width="220"
height="220"
alt="Escaneá el código para verificar tu identidad"
/>
Consultar el QR es una lectura pura: no canjea el link ni cambia el estado de la sesión.
Formatos
| Campo | Tipo | Content-Type | Descripción |
|---|---|---|---|
.svg | Vectorial | image/svg+xml; charset=utf-8 | Escala sin pérdida. Es el que conviene para web e impresión. |
.png | Raster | image/png | 512 × 512 píxeles. Útil donde el SVG no está soportado (algunos clientes de email). |
Los dos usan corrección de error nivel M y un margen de 2 módulos: robusto para escanear desde una pantalla sin inflar el tamaño del código.
Cacheo
La respuesta trae Cache-Control: public, max-age=<segundos hasta el vencimiento>, immutable. El QR de un token no cambia nunca, así que cachearlo es
seguro y el max-age se ajusta solo para no sobrevivir al link.
Respuestas de error
| Campo | Tipo | Status | Descripción |
|---|---|---|---|
not_found | problem+json | 404 | Token desconocido o nombre de archivo inválido. Los dos casos son indistinguibles a propósito. |
session_expired | problem+json | 410 | El link venció. Creá una sesión nueva. |
link_consumed | problem+json | 410 | El link ya fue utilizado. Es de un solo uso: una vez que la persona lo abre y lo canjea, el QR deja de servir. |