GenieOS · Links for developers

A URL is a call. A QR is the next one.

Mint a tracked short link, stamp the UTMs you already use, wrap it in a brand-styled QR, and read the clicks back. The design never lives in your payload. The slug does.

link.tsts
// reuse last month's UTM values, don't invent Newsletterconst prior = await list_utm_suggestions({ field: "source" }); const link = await create_short_link({  destinationUrl: "https://fueld.ai/directory",  slug: "directory",  label: "Directory launch",  utm: { source: "newsletter", medium: "email", campaign: "the-directory" },});// link.redirectUrl → https://gogen.ie/directory
The surface
  • list_short_linksthe inventory, before you mint a duplicate
  • list_utm_suggestionsreuse newsletter, not Newsletter
  • create_short_linkslug, destination, UTM, routing, password, schedule
  • get_short_linkone link, including rules the list omits
  • update_short_linkchange the destination, keep the slug
  • read_link_analyticsclicks, geo, device, referrer, identified share
  • create_qr_design · render_qr_designbrand-kit QR, then SVG or PNG bytes
IN-APP · JUDGEThe agent drafted it. You look at it.
LINKSFueld· Short links & QR
LinksQR codesAnalytics

gogen.ie/directory

fueld.ai/directory · 842 clicks · newsletter

gogen.ie/poster

fueld.ai/directory · 318 clicks · qr

gogen.ie/ig-bio

fueld.ai · 124 clicks · instagram

gogen.ie/directory

BRAND QR · SVG + PNG

Make a short link for the Directory launch, and a QR for the poster.

⏎ to send

Look at the inventory before you mint.

list_short_links is the first call, not create_short_link. The workspace already has a Directory slug. Minting a second one splits the analytics and confuses the poster. list_utm_suggestions is the second call, so utm_source stays newsletter across the launch.

Then create_short_link. One credit. The redirect host is gogen.ie unless you pass a custom domain the workspace already owns.

IN-APP · JUDGEThe agent drafted it. You look at it.
LINKSFueld· Short links & QR
LinksQR codesAnalytics

gogen.ie/directory

fueld.ai/directory · 842 clicks · newsletter

gogen.ie/poster

fueld.ai/directory · 318 clicks · qr

gogen.ie/ig-bio

fueld.ai · 124 clicks · instagram

gogen.ie/directory

BRAND QR · SVG + PNG

Make a short link for the Directory launch, and a QR for the poster.

⏎ to send

The QR is judged by print, not by JSON.

create_qr_design returns a design id, not pixels. Style defaults from the brand kit: colours, logo, error correction. render_qr_design is the call that hands you SVG or PNG.

Whether the finder squares sit cleanly on Fueld green, and whether the mark in the centre still scans, is a looking job. Open the studio, print a proof, then ship the bytes from the same id.

route.tsts
await update_short_link({  linkId: "lnk_directory",  routeRules: [    {      id: "gb",      match: { kind: "country", codes: ["GB"] },      destinationUrl: "https://fueld.ai/uk/directory",    },  ],});// same slug. different destination, by country.

Same slug. Different destination.

update_short_link can replace the destination, the UTM pack, the password, the go-live window, and the route rules. The short URL does not change, which is the whole point of putting it on a poster.

Route rules evaluate on the edge: country, city, platform, device. First match wins. The link's destinationUrl is the fallback.

IN-APP · SUPERVISEWhat your agent has queued.
LINKSFueld· Short links & QR
LinksQR codesAnalytics

CLICKS

1,284

Last 30 days

IDENTIFIED

62%

Known contacts

TOP COUNTRY

GB

Then US, DE

TOP LINK

gogen.ie/directory · 842 clicks

utm_source=newsletter · 71% identified

Make a short link for the Directory launch, and a QR for the poster.

⏎ to send

A click from a known contact is a name.

read_link_analytics is the inbound half of the loop in miniature. Headline counts, time series, geo, device, referrer, UTM breakdowns. When the click came from a link sent to a known contact, the visit is identified.

That is attribution doing real work: a page view stops being anonymous traffic and becomes a person moving. Cache hits are free. Misses scan events and charge. Glow and above.

When this happens
  • WhenA PR merges with feat:

    ThenLaunch posts drafted for every network, held for approval

    • create_social_post
    • list_pending_approvals
  • WhenYou tag a release v*

    ThenA changelog email to everyone still on the previous version

    • compose_template
    • enroll_in_sequence

Mint it. Print it. Read it back.