> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Descargar la imagen de un código QR

> GET /qrcode/{qrid}/download/

Descarga una imagen renderizada de un 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}/download/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
```

<ParamField path="qrid" type="string" required>
  El `qrid` del código QR, p. ej. `QR7K9M2XN`.
</ParamField>

<Tip>
  También accesible en `/qr/{qrid}/download/` — misma vista, mismo comportamiento.
</Tip>

### Parámetros de consulta

<ParamField query="file" type="string" default="png">
  Formato de salida: `png`, `jpg`, `jpeg`, `svg`, `pdf`, `eps` o `ps`.
</ParamField>

<ParamField query="size" type="integer" default="300">
  Tamaño de la imagen en píxeles, de `10` a `2400`.
</ParamField>

<ParamField query="for_print" type="boolean" default="false">
  Cuando es `true`, devuelve un PDF listo para imprimir generado localmente (no a través del servicio generador de imágenes) e ignora `file`.
</ParamField>

<ParamField query="info" type="string">
  Anulación opcional de la carga útil precodificada. Los códigos QR dinámicos no necesitan esto — existe para los códigos QR estáticos, ya que este backend no reproduce de forma independiente la lógica de codificación de datos del lado del cliente del frontend para los tipos estáticos.
</ParamField>

## Respuesta

Una solicitud exitosa devuelve la imagen como una descarga de archivo binario (`Content-Disposition: attachment`), con un nombre de archivo derivado del nombre del código QR (o su `qrid` si no tiene nombre).

<RequestExample>
  ```bash cURL theme={null}
  curl -G "https://management.scanova.io/qrcode/QR7K9M2XN/download/" \
    -H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
    -d file=svg \
    -d size=600 \
    -o "product-launch-flyer.svg"
  ```
</RequestExample>

## Errores

<ResponseField name="400 Bad Request">
  Se devuelve cuando `size` está fuera del rango `10`–`2400`, o `file` no es uno de los formatos admitidos.
</ResponseField>

<ResponseField name="404 Not Found">
  El `qrid` no existe, o no pertenece a la cuenta a la que pertenece la clave.
</ResponseField>

<ResponseField name="503 Service Unavailable">
  El servicio ascendente generador de imágenes no está disponible. Esto no es un error del cliente — vuelve a intentarlo, y contacta con soporte si persiste.
</ResponseField>

## Relacionado

* [Listar / crear códigos QR](/es/api-reference/management-api/qr/list) — encuentra el `qrid` que descargar aquí.
* [Obtener, actualizar, eliminar un código QR](/es/api-reference/management-api/qr/retrieve) — obtén los detalles completos de un código QR en lugar de su imagen renderizada.


## OpenAPI

````yaml api-reference/openapi/management-api.json GET /qrcode/{qrid}/download/
openapi: 3.1.0
info:
  title: Scanova Management API (v2)
  description: >-
    The complete Scanova Management API — every endpoint available at
    management.scanova.io (QR codes, folders, tags, leads, forms, analytics,
    plans, shared users & roles), plus the token-creation and usage-stats
    endpoints used to authenticate against it. Every path and request/response
    shape below was verified live against a real API key and the actual running
    backend (Phase 7, 2026-08-16) — not guessed from reading urls.py alone.
  version: 2.0.0
servers:
  - url: https://management.scanova.io
    description: Management API — QR/folder/tag/lead/form/analytics/plans endpoints
security:
  - apiKeyAuth: []
paths:
  /qrcode/{qrid}/download/:
    get:
      summary: Download a QR code image
      operationId: downloadManagedQrCode
      parameters:
        - name: qrid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: QR image binary
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        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.

````