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 Your al_live_<prefix>_<secret> API key. Mint and manage keys in the dashboard.
In: header
Path Parameters
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
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": "Домен не найден" }}List a domain's QR codes
Returns every QR code of the domain (in creation order) together with its live funnel stats — scans, labelled visits, human button clicks, and the subscriptions/revenue attributed to those clicks. Requires a read-scoped key.
Edit a QR code
Partially updates a QR code; only supplied fields change. Renaming the slug moves the public scan path while the source label — and the code's stats history — stays unchanged; mind media already printed with the old path, which keeps redirecting but no longer carries the label. active: false stops labelling scans without breaking the printed redirect. design/preset replace the stored design (design wins). Changes are live immediately. Requires a write-scoped key.