> ## 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.

# Create a QR code

> POST /qr/

Lists or creates QR codes on the **Management API** host (`management.scanova.io`), authenticated with your raw Management API key — see the [overview](/api-reference/management-api/overview) if you haven't set that up yet.

```
GET  https://management.scanova.io/qr/
POST https://management.scanova.io/qr/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
```

`POST /qr/` creates a new QR code using the same serializer and field contract as the regular dashboard's create-QR endpoint. Rather than re-deriving the full field reference here, see [Create QR Code](/v1/api-reference/endpoint/qr_manager/create) for the complete required/optional field table (`category`, `info`, `name`, `qr_type`, plus advanced fields like `pattern_info`, `custom_domain`, `expire_on`, `lead_list`, `password`, and geo-fencing options) — every field documented there applies identically here.

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://management.scanova.io/qr/" \
    -H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
    -H "Content-Type: application/json" \
    -d '{
      "category": 1,
      "info": "{\"type\":\"url\",\"data\":{\"url\":\"https://example.com\"}}",
      "qr_type": "dy",
      "name": "Product launch flyer"
    }'
  ```
</RequestExample>

A successful create returns `201 Created` with the newly created QR code, serialized with the **full** detail shape (the same one returned by [`GET /qrcode/{qrid}/`](/api-reference/management-api/qr/retrieve)) — richer than the slim list shape shown above, and including fields like `info` and `pattern_info` that the list endpoint omits for performance.

Creating a QR code is subject to the same plan-based QR-count limits (dynamic/static) as creating one from the dashboard, in addition to the `MANAGEMENT_API` (or `INTEGRATION_ZAPIER`/`INTEGRATION_MCP`) quota gate described in the [overview](/api-reference/management-api/overview#plan-quota).

## Related

* [List QR codes](/api-reference/management-api/qr/list) — the other operation on this same endpoint.
* [Retrieve](/api-reference/management-api/qr/retrieve) — operate on a single QR code returned by this list.
* [Update](/api-reference/management-api/qr/update) — operate on a single QR code returned by this list.
* [Delete](/api-reference/management-api/qr/delete) — operate on a single QR code returned by this list.
* [Download a QR code image](/api-reference/management-api/qr/download) — render one of these QR codes as a PNG/SVG/PDF/etc.
* [List trashed QR codes](/api-reference/management-api/qr/trash) — where a QR code goes after being deleted from this list.
* [Management API overview](/api-reference/management-api/overview) — the auth scheme and quota rules that apply to this endpoint.


## OpenAPI

````yaml api-reference/openapi/management-api.json POST /qr/
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:
  /qr/:
    post:
      summary: Create a QR code
      operationId: createManagedQrCode
      responses:
        '201':
          description: QR code created
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.

````