TEASEDocs
ProductsLinkLanding-page builder

Give a media buyer a read-only stats link

Share one domain's numbers with a media buyer without giving them panel access.

A media buyer who runs traffic to one of your domains usually needs to know "how many did I send, how many converted" — without needing (or getting) access to your panel. A buyer link is a read-only, unauthenticated page that shows exactly that, and nothing else: no fans, no other links, no neighboring domains.

curl -X POST "https://app.tease.link/api/admin/landing-share?domain=links.creator.com&days=30&expires_days=30" \
  -H "Authorization: Bearer $TEASE_API_KEY"
# → { "id": 7, "domain": "links.creator.com", "url": "https://app.tease.link/exports/<token>",
#     "days": 30, "generated_at": 1735689600, "expires_at": 1738281600, "hits": 0 }

days (1–365, default 30) is the window the numbers cover; expires_days (0–365, default 30; 0 = never expires) is how long the link itself stays valid. The numbers are frozen at creation time — the buyer's page is a snapshot, not a live query, so opening it never runs a heavy report against your data.

Send the returned url to the buyer. It needs no login and no panel access at all.

What the buyer sees

Clicks, uniques, subscriptions, and revenue (revenue and subscription counts only show once they're non-zero, so an early "$0" never reads as "nothing sold yet" when sales just haven't landed). The page is server-rendered, dependency-free HTML — it opens instantly even on a slow phone connection, with no admin bundle to download.

Refresh, list, and revoke

# Re-freeze the same link's numbers (the URL the buyer has doesn't change)
curl -X POST "https://app.tease.link/api/admin/landing-share/7/refresh" \
  -H "Authorization: Bearer $TEASE_API_KEY"

# See every live link for a domain
curl "https://app.tease.link/api/admin/landing-share?domain=links.creator.com" \
  -H "Authorization: Bearer $TEASE_API_KEY"

# Revoke one
curl -X DELETE "https://app.tease.link/api/admin/landing-share/7" \
  -H "Authorization: Bearer $TEASE_API_KEY"

Revoking doesn't delete the audit row — it just makes the public page 404 for anyone who still has the link, with no way to tell a revoked link apart from one that never existed.

Confirm it worked

Open the returned url in a private/incognito window (or send it to the buyer and ask them to confirm) — you should see the numbers page with no login prompt. After refresh, the hits counter and generated_at timestamp in the list response should be unchanged and updated respectively; after revoke, the same URL should return a plain 404.

Built on the existing report-share mechanism

Buyer links reuse the same token/expiry/revoke/rate-limit machinery as the panel's PDF report shares — a 128-bit token is the only credential, and the same view-count and per-IP/per-token rate limits apply. The buyer-specific numbers are computed by the exact same function that feeds the panel's own revenue dashboard, so the two can never disagree.

What's next

On this page