TEASEDocs
API ReferenceLandings

Create a QR code

Creates a printable QR entry point on the domain. slug '' claims the main /qr path; a named slug serves /qr/<slug>. The source label ('qr' or 'qr-<slug>') is stamped once at creation and never changes. Send a full design, a catalog preset id, or neither (the stock design); design wins when both are sent. QR codes live outside the draft lifecycle — changes apply to the live domain immediately, no publish needed. Requires a write-scoped key.

Authorization

bearerAuth
AuthorizationBearer <token>

Your al_live_<prefix>_<secret> API key. Mint and manage keys in the dashboard.

In: header

Path Parameters

domain*string

Registered hostname, e.g. links.creator.com.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

POST
/api/admin/qr/{domain}
curl -X POST "https://example.com/api/admin/qr/string" \  -H "Content-Type: application/json" \  -d '{    "title": "Club flyer",    "slug": "flyer",    "channel": "instagram",    "preset": "rounded-insta"  }'
{  "id": 3,  "domain": "links.creator.com",  "slug": "flyer",  "path": "/qr/flyer",  "title": "Club flyer",  "channel": "instagram",  "source": "qr-flyer",  "design": {    "module": "rounded",    "eye_frame": "rounded",    "eye_dot": "rounded",    "fg_grad": {      "kind": "linear",      "stops": [        [          0,          "#7a3ff2"        ],        [          0.5,          "#e1306c"        ],        [          1,          "#fcaf45"        ]      ]    },    "bg": "#ffffff",    "card_radius": 28  },  "active": true,  "created_at": 1752537600,  "updated_at": 1752537600,  "stats": {    "scans": 0,    "visits": 0,    "clicks": 0,    "subs": 0,    "revenue_cents": 0  }}
{  "detail": {    "code": "slug_taken",    "message": "Путь /qr/flyer на links.creator.com уже занят"  }}
{  "detail": "auth required"}
{  "detail": {    "code": "domain_not_found",    "message": "Домен не найден"  }}