> ## 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 QR Code

> Creates a new dynamic QR Code with the specified category and content. Authentication required — include your API key in the Authorization header.

<Note>
  **Try it dropdowns:** The **category** dropdown shows IDs (1, 9, 10, …). **qr\_type** shows `dy` / `st`. Use the tables below to match values to labels.
</Note>

## Request Body — Fields

**Required fields**

| Field      | Type      | Description                                                                                                                                                            |
| :--------- | :-------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `category` | `integer` | QR Code category ID. See [Category List](/v1/api-reference/references/category-list). Try it dropdown shows IDs; see **Category dropdown reference** below for labels. |
| `info`     | `string`  | JSON string containing QR Code component data (see [Components Reference](/v1/api-reference/references/components)).                                                   |
| `name`     | `string`  | Human-readable name for the QR Code.                                                                                                                                   |
| `qr_type`  | `string`  | QR type: `dy` = Dynamic (editable after creation), `st` = Static (fixed content). Try it dropdown shows `dy` / `st`.                                                   |

### Category dropdown reference (Try it)

| Value | Label         |
| :---- | :------------ |
| `1`   | Website URL   |
| `9`   | Custom Page   |
| `10`  | App Store     |
| `11`  | Google Map    |
| `13`  | Document      |
| `14`  | Wedding       |
| `15`  | Social Media  |
| `16`  | Audio         |
| `17`  | Coupon        |
| `18`  | Product       |
| `19`  | Image         |
| `20`  | Event         |
| `23`  | App Deep Link |
| `24`  | Business Card |
| `25`  | Restaurant    |
| `26`  | Feedback      |
| `27`  | Real Estate   |
| `28`  | Link Page     |
| `31`  | GS1           |
| `44`  | Restaurant    |

### qr\_type dropdown reference (Try it)

| Value | Label                             |
| :---- | :-------------------------------- |
| `dy`  | Dynamic (editable after creation) |
| `st`  | Static (fixed content)            |

**Optional / Advanced fields**

> Note: Advanced features (custom domains, geo-fencing, lead capture, expiry) may require specific plan quotas or entitlements.

| Field                              | Type                     | Description                                                                                                                                                         |
| :--------------------------------- | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `pattern_info`                     | `object` **or** `string` | (Optional) Design customization (pattern, colors, eyes, frame, errorCorrection). See Pattern Info Reference. Some clients require this serialized as a JSON string. |
| `custom_domain`                    | `integer`                | Custom domain ID (advanced plan feature).                                                                                                                           |
| `expire_on`                        | `string (date-time)`     | Expiration timestamp (requires plan quota).                                                                                                                         |
| `expire_on_text`                   | `string (HTML)`          | HTML content to show when QR is expired.                                                                                                                            |
| `expire_on_timezone`               | `string`                 | Timezone for expiry (e.g., `Asia/Kolkata`).                                                                                                                         |
| `high_accuracy_confirmation`       | `boolean`                | High-accuracy confirmation for location QR codes.                                                                                                                   |
| `high_accuracy_geo_fencing`        | `boolean`                | Enable geo-fencing (requires plan quota).                                                                                                                           |
| `high_accuracy_geo_fencing_config` | `object`                 | Geo-fencing config (displayText, fallback, mapLocation, range, unit, redirectUrl).                                                                                  |
| `high_accuracy_mode`               | `boolean`                | Request location access behavior toggle.                                                                                                                            |
| `high_accuracy_mode_text`          | `string`                 | Text shown when requesting location permission.                                                                                                                     |
| `lead_list`                        | `integer`                | Lead list ID to capture leads.                                                                                                                                      |
| `minimum_age`                      | `integer`                | Minimum age required to access content.                                                                                                                             |
| `password`                         | `string`                 | Password to protect QR Code content.                                                                                                                                |


## OpenAPI

````yaml 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.

````