Create a QR code for print
Issue a new carrier — the domain's main /qr code or a named /qr/<slug> — with a design or preset.
Every domain can hand out printable QR codes that lead straight to its landing page. Each one
gets its own scan path: leave the slug empty for the domain's main code at /qr, or name it
for a /qr/<slug> code — one physical carrier per code (a flyer, a sticker, a specific ad
placement) so each can be measured on its own.
Before you start
The domain has to exist already — creating a code resolves the domain first and 404s with
domain_not_found if it doesn't. Nothing here touches the domain's draft/publish cycle: a QR
code is live the moment it's created.
Create the code
curl -X POST https://app.tease.link/api/admin/qr/links.creator.com \
-H "Authorization: Bearer $TEASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "title": "Club flyer", "slug": "flyer", "channel": "instagram", "preset": "rounded-insta" }'| Field | Type | Required | Description |
|---|---|---|---|
title | string | yes | Display name of the medium, 1–128 characters (e.g. Club flyer). |
slug | string | no | "" (default) = the domain's main code at /qr; otherwise the /qr/<slug> path — 1–32 characters of [a-z0-9_-], starting with a letter or digit. |
channel | string | no | A tag for grouping (instagram, twitter, …) — doesn't affect the redirect. |
design | object | no | A full design config — see Design a QR code. Wins over preset when both are sent. |
preset | string | no | A catalog design id from GET /api/admin/qr/presets. Omit both design and preset for the stock look. |
The response carries the code's id, its public path, and its source label — the tag every
scan, visit, click, and payment attributed to this code will carry from now on.
How to know it worked
path in the response (/qr/flyer, or /qr for the main code) is what the printed carrier
should encode as https://<domain><path>. Point a phone camera at the finished artwork before
sending it to print — a real scan should 302 you to the landing page. The panel's list for the
domain (GET /api/admin/qr/{domain}) should show the new code with all-zero stats.
If it didn't work
400 slug_taken— that path is already used by another code on this domain. Pick a different slug, or edit the existing code instead of creating a duplicate.400 slug_invalid— the slug has to be 1–32 characters of lowercase letters, digits,_or-, starting with a letter or digit.404 domain_not_found— the domain string doesn't match a connected domain on your account; double check spelling and that the domain has finished connecting.400 design_invalidor404 preset_not_found— see Design a QR code for the full set of valid keys and values.
Once you have a code, the design piece — presets vs. a fully custom look — is its own step; see Design a QR code next.
What's next
- Design a QR code — pick a preset or build a custom look.
- Download a code for print — get the file ready for the print shop.