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

# Custom Page QR Code

> Create a fully custom landing page QR code.

## What it's for

"Custom Page" is the platform's generic, catch-all page category — internally named `dynamicText` and labeled **Custom Page** in the QR category list (ID `9`). It's what you get when a page doesn't fit one of the more specific template categories (Restaurant, Product, Feedback, and so on): any combination of blocks, built from scratch or from a loosely-themed starting point.

<Warning>
  **Naming mismatch, verified live:** there is no "Custom Page" button, tag, or label anywhere in the app's UI. The template gallery's tag filter bar does **not** include a "Custom Page" tag — searching the gallery for "custom" returns **"No templates match «custom»"**. The only user-facing route to this category is the **Start Blank** option on the template gallery, which the interface never calls "Custom Page."
</Warning>

<Frame caption="Searching the gallery for &#x22;custom&#x22; returns no matches — Custom Page has no gallery tag">
  <img src="https://mintcdn.com/scanova-api/q8t3kzcRTgAP7jV0/images/v2/qr-codes/create/custom-page/search-no-match.png?fit=max&auto=format&n=q8t3kzcRTgAP7jV0&q=85&s=16295f57eaca09f30374cd3525c96b3e" alt="Template gallery search box showing 'No templates match «custom»' with only Start Blank remaining visible" width="1280" height="855" data-path="images/v2/qr-codes/create/custom-page/search-no-match.png" />
</Frame>

## Two ways to reach this category

<Tabs>
  <Tab title="Start Blank (recommended)">
    This is the direct, always-available route to the `dynamicText` / Custom Page category — confirmed by inspecting the actual create request the app sends.

    <Steps>
      <Step title="Open Create QR Code and choose Build a Page">
        From **QR Codes → Create QR Code** (`/qr/create`), click the **Build a Page** card.
      </Step>

      <Step title="Click Start Blank">
        On **Choose a template** (`/qr/new`), the **Start Blank** card sits first in the gallery grid, before any tag filtering — it's not tucked under a category tag.

        <Frame caption="The Start Blank card in the unfiltered template gallery">
          <img src="https://mintcdn.com/scanova-api/q8t3kzcRTgAP7jV0/images/v2/qr-codes/create/custom-page/gallery-full.png?fit=max&auto=format&n=q8t3kzcRTgAP7jV0&q=85&s=da0a2931be107fe897ae6950b434d8ef" alt="Template gallery showing the Start Blank card alongside tagged templates such as Fine Dining and Tech Product Launch" width="1280" height="2043" data-path="images/v2/qr-codes/create/custom-page/gallery-full.png" />
        </Frame>
      </Step>

      <Step title="Land in an empty builder canvas">
        Clicking it navigates straight to `/qr/new/landing` (no `?template=` query string) and opens an empty canvas: **0 blocks**, with prompts to add a **Page Title**, **Description**, or **Button** to get started.

        <Frame caption="The empty page builder canvas after choosing Start Blank">
          <img src="https://mintcdn.com/scanova-api/q8t3kzcRTgAP7jV0/images/v2/qr-codes/create/custom-page/builder-canvas-start-blank.png?fit=max&auto=format&n=q8t3kzcRTgAP7jV0&q=85&s=5007a2ea799d601b4ef1b9a1955ff43f" alt="Empty page builder canvas with zero blocks and Add Page Title, Add Description, Add Button prompts" width="1280" height="720" data-path="images/v2/qr-codes/create/custom-page/builder-canvas-start-blank.png" />
        </Frame>

        <Check>
          Verified via the network request the builder sends on the first block add: `POST /qr/` with `"category":9` in the body — `9` is the `dynamicText` / Custom Page category ID. Start Blank reliably creates a Custom Page-category QR regardless of which blocks you add afterward.
        </Check>
      </Step>
    </Steps>
  </Tab>

  <Tab title="Announcement-tagged template">
    The gallery does have one pre-built template that actually carries the `dynamicText` / Custom Page category under the hood — it's just filed under the **Announcement** tag, not a "Custom Page" tag.

    <Steps>
      <Step title="Filter the gallery by Announcement">
        Click the **Announcement** tag (count 1). The only match is **Special Announcement** — a teal, decorative page for a business update.

        <Frame caption="The template gallery filtered to the Announcement tag">
          <img src="https://mintcdn.com/scanova-api/q8t3kzcRTgAP7jV0/images/v2/qr-codes/create/custom-page/gallery-announcement-filtered.png?fit=max&auto=format&n=q8t3kzcRTgAP7jV0&q=85&s=1fb8217c0799aa65053f5691b3d9e82d" alt="Template gallery filtered to the Announcement tag, showing only the Special Announcement template plus Start Blank" width="1280" height="755" data-path="images/v2/qr-codes/create/custom-page/gallery-announcement-filtered.png" />
        </Frame>
      </Step>

      <Step title="Open it in the builder">
        Selecting it and clicking **Use this template** opens `/qr/new/landing?template=dynamictext-announcement`, with 3 blocks: **Description**, **Button**, **Share Buttons**.

        <Frame caption="The page builder canvas after opening the Special Announcement template">
          <img src="https://mintcdn.com/scanova-api/q8t3kzcRTgAP7jV0/images/v2/qr-codes/create/custom-page/builder-canvas-announcement.png?fit=max&auto=format&n=q8t3kzcRTgAP7jV0&q=85&s=6320803f7ab592a98e358e54139bd54f" alt="Page builder canvas showing the Special Announcement template with Description, Button, and Share Buttons blocks" width="1280" height="720" data-path="images/v2/qr-codes/create/custom-page/builder-canvas-announcement.png" />
        </Frame>
      </Step>
    </Steps>

    This was confirmed directly against the templates API: `dynamictext-announcement` returns `"category": {"id": 9, "slug": "dynamicText", "name": "Custom Page"}` and `"filter_tags": ["Announcement"]` — the template is Custom Page-categorized, but discoverable only through the Announcement tag.
  </Tab>
</Tabs>

## Creating one via the API

To create a Custom Page QR code through the API rather than the UI, use category ID `9` (slug `dynamicText`, labeled **Custom Page**) — see [Create QR Code](/v1/api-reference/endpoint/qr_manager/create) for the full request schema and [Category List](/v1/api-reference/references/category-list) for the complete ID-to-label mapping.

## Related

* [Page Builder overview](/page-builder/overview) — the block-based editor Start Blank opens into.
* [Templates](/page-builder/templates) — the Start Blank card and category-tagged templates described above, in full.
* [Creating your first QR code](/getting-started/first-qr-code) — the general Create QR Code flow this category is reached from.
* [Folders, tags & bulk operations](/qr-codes/manage/folders-tags-bulk-operations) — organize the QR code after publishing it.
