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

# Text Message QR Code

> Create a QR code that pre-fills an SMS message.

## What it's for

A Text Message QR code opens the device's SMS composer with both the recipient number and a message already filled in, so scanning it is a one-tap way to text a business — a feedback line, an order number, an opt-in keyword. It's a **Quick Code** — a direct-action QR with no landing page. In the app, the tile for it reads "Open SMS composer with a pre-filled message."

<Note>
  Text Message is **Static only** — there's no Dynamic option for this type. Once published, the encoded number and message can't be edited or tracked; to change them, create a new QR code.
</Note>

## Create a Text Message QR code

<Steps>
  <Step title="Open Create QR Code and choose Quick Code">
    From the sidebar, go to **QR Codes**, then click **Create QR Code** (or navigate to `/qr/create`). Click the **Quick Code** card.
  </Step>

  <Step title="Pick Text Message">
    On the **Quick Code** type grid, click **Configure** under **Text Message**, in the **Static Only** section. This opens the form at `/qr/quick/sms`.
  </Step>

  <Step title="Enter the phone number and message">
    Fill in both fields:

    * **Phone number** (placeholder `+1 415 555 0100`) — validated on blur the same way as the [Phone Number](/qr-codes/create/phone-number) type: digits, spaces, parentheses, dashes, and an optional leading `+`, with 6–15 digits total.
    * **Message** (placeholder "Hello!") — a single-line text field, sent as the SMS body.

    Both fields are required to enable publishing, though neither is visually marked with a required indicator on the form itself.

    <Frame caption="The Text Message Quick Code form with a phone number and message entered">
      <img src="https://mintcdn.com/scanova-api/q8t3kzcRTgAP7jV0/images/v2/qr-codes/create/text-message/text-message-form-filled.png?fit=max&auto=format&n=q8t3kzcRTgAP7jV0&q=85&s=6b0c10aa0b1d183edfaea47e73e1a0cc" alt="Text Message Quick Code form with the phone number field filled in with +1 415 555 0142 and the message field filled in with a thank-you note, plus a live QR preview on the right" width="1440" height="900" data-path="images/v2/qr-codes/create/text-message/text-message-form-filled.png" />
    </Frame>
  </Step>

  <Step title="Publish">
    Click **Publish**. A panel opens to confirm or rename the QR code (it defaults to "SMS \<number>"), assign a folder or tags, and adjust QR design before confirming.
  </Step>
</Steps>

## Creating one via the API

To create a Text Message QR code through the API rather than the UI, use category ID `5` (labeled **Text Message**, `allowed_qr_types: "st"` — only `"st"` is valid for `qr_type`), with an `info` payload shaped like:

```json theme={null}
{
  "type": "sms",
  "data": {
    "contactNumber": "+14155550142",
    "message": "Thanks for scanning — here's 10% off your next visit."
  }
}
```

Both `contactNumber` and `message` are required by the backend schema. See [Create QR Code](/v1/api-reference/endpoint/qr_manager/create) for the full request schema.

<Note>
  The [Category List](/v1/api-reference/references/category-list) reference table doesn't currently list Text Message (or the other Quick Code–only categories on this page) — the ID above was confirmed directly against the live `/qr/category/` endpoint.
</Note>

## Related

* [Email QR Code](/qr-codes/create/email) — a similar direct-action type, opening the mail app instead of the SMS composer.
* [Phone Number QR Code](/qr-codes/create/phone-number) — the same phone-number validation, used to open the dialer instead.
* [Creating your first QR code](/getting-started/first-qr-code) — a full walkthrough of the Quick Code flow this type belongs to.
