Transactional Link Shortener — Built to Never Break
Branded short links for magic links, password resets, order confirmations, and appointment reminders. 99.9% redirect SLA, links that don't expire, REST API in any language.
99.9% uptime SLA · Links never expire · GDPR DPA available · OpenAPI 3.0 spec
// Magic-link example: shorten the auth URL before emailing
const link = await fetch(
`https://app.linklyhq.com/api/v1/link?api_key=${process.env.LINKLY_API_KEY}`,
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
workspace_id: YOURAPP_WORKSPACE_ID,
url: `https://yourapp.com/auth/verify?token=${oneTimeToken}`,
name: `magic-${userId}-${Date.now()}`,
domain: "auth.yourapp.com",
}),
},
).then(r => r.json());
// link.full_url → "https://auth.yourapp.com/abc123"
await sendgrid.send({
to: user.email,
from: "auth@yourapp.com",
subject: "Sign in to YourApp",
text: `Tap to sign in: ${link.full_url}`,
});Permanence
A magic link sent at 2am must still resolve tomorrow — and a year from now if the user comes back through their email archive.
SLA-backed redirects
A password-reset link that 502s costs you the user and the support ticket. Transactional sends need a real uptime guarantee, not a best-effort promise.
Brand trust on the link
Bitly or tinyurl URLs in a password-reset email read as phishing — and are increasingly flagged as such by inbox filters.
Built for the links you can't afford to break
Permanent, SLA-backed, instrumented for attribution, and API-first in any language.
Links never expire
Every link Linkly creates is permanent by default. No TTL, no auto-deletion. The link you shipped six months ago still resolves today.
Uptime SLA
99.9% measured on the redirect path — the only surface that matters when a customer taps a link. Enterprise plans add contractual service credits.
Reliable webhooks
Every click triggers a webhook to your endpoint. Use the stream for order-confirmation read receipts, auth-attempt logging, or warehouse ingestion.
API in any language
REST endpoints with bearer-token auth, OpenAPI 3.0 spec, code samples in six languages. Bulk-create up to 1,000 links per request.
Three patterns for transactional sends
Different teams use Linkly differently depending on the kind of transactional link they ship. Three patterns cover almost every use case we see.
Authentication — magic links, password resets, 2FA
The setup. Your auth system generates a one-time token and emails or texts the user a link. The user taps it. The user is authenticated.
How Linkly fits. Wrap the auth URL in a Linkly-shortened branded link before sending. Your auth system handles single-use enforcement; Linkly handles the redirect, the SLA, and the brand-trust signal in the inbox.
What you get. A branded magic link (yourapp.co/login/xyz123) instead of a raw 200-character auth URL. Higher click-through, better inbox deliverability, and separate analytics for auth-flow performance.
E-commerce and transactional comms
The setup. Order placed → confirmation + tracking link. Order shipped → carrier tracking link. Order delivered → review request. Each link goes to a different destination.
How Linkly fits. Generate a branded short link per order. Update the destination after the fact if a carrier URL changes. Track per-order click behaviour to know which customers checked tracking three times in two hours.
What you get. Branded links across the entire order lifecycle, the ability to fix broken third-party destination URLs without re-sending the email, and a per-order attribution layer that survives an ESP migration.
Appointments, verification, regulated comms
The setup. Appointment booked → SMS reminder 24 hours out, with a confirm/reschedule link. Account flagged → email with a verify-identity link. Patient enrolled → secure link to portal access.
How Linkly fits. Branded short links that resolve reliably even months after issue. Webhooks fire when the user taps the link — useful for compliance teams who need to evidence engagement with the comms.
What you get. A reliable link layer across SMS and email channels, the same branded short domain across both, and clean webhook attribution for compliance reporting.
The permanence guarantee
Linkly's single most important commitment to transactional senders: a link you create through Linkly will not break. Not when your plan changes. Not when the campaign ends. Not in three years when you've forgotten about it. The only ways a Linkly short link stops resolving are (1) you explicitly delete it, or (2) your destination URL stops working — and Linkly will help you fix the destination without re-issuing the link.
Links never auto-expire
There is no TTL on Linkly short links. A link created today still resolves five years from now unless you delete it. Expiry on auth tokens or destinations is enforced by your application — not by Linkly silently breaking the link.
Links don't break when you exceed plan limits
If you go over your monthly click allowance, Linkly notifies you and prompts an upgrade. The links keep redirecting. This matters most for password-reset and order-confirmation sends — a broken auth link costs you the user.
Update destinations without re-issuing the link
If a carrier tracking URL changes or a third-party destination redirects, you can update the Linkly link's target without touching the message that's already been sent. The short link the customer has bookmarked still works.
Works with the email and SMS infrastructure you already use
Linkly sits between your sending infrastructure and your users. Generate a short link via the API, pass the result into your existing provider's send call. No protocol changes, no provider migration.
Don't see your provider? Linkly works with any system that can make an HTTPS request — see the URL shortener API.
A magic-link send in 30 lines
A full magic-link flow with Linkly shortening the auth URL before SendGrid emails it. Drop into your auth code, change the env vars, ship.
import sgMail from "@sendgrid/mail";
import crypto from "crypto";
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
async function sendMagicLink(user) {
// 1. Mint a one-time auth token (your existing auth system)
const token = crypto.randomBytes(32).toString("hex");
await saveTokenForUser(user.id, token, { expiresInMinutes: 15 });
// 2. Shorten the auth URL via Linkly — branded, on your auth domain
const authUrl = `https://yourapp.com/auth/verify?token=${token}`;
const link = await fetch(
`https://app.linklyhq.com/api/v1/link?api_key=${process.env.LINKLY_API_KEY}`,
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
workspace_id: process.env.LINKLY_WORKSPACE_ID,
url: authUrl,
name: `magic-${user.id}-${Date.now()}`,
domain: "auth.yourapp.com",
}),
},
).then(r => r.json());
// 3. Send the email — short branded link in the body
await sgMail.send({
to: user.email,
from: "auth@yourapp.com",
subject: "Sign in to YourApp",
text: `Tap to sign in (link expires in 15 minutes):\n\n${link.full_url}`,
});
}For multi-language examples, the OpenAPI spec, and the full API reference, see the URL Shortener API.
Pricing that doesn't break your sends
Linkly's pricing is per click, not per send. A magic link that gets sent and never clicked costs nothing. Predictable, transactional-friendly.
Free
For prototyping and small sends
- 500 clicks / month
- 1 custom domain
- 1,000 API calls / month
- Full webhook + analytics API
- Links never expire
Growth
For teams shipping production traffic
- 50,000 clicks / month
- Unlimited custom domains
- 100,000 API calls / month
- Priority email support
- 99.9% uptime SLA
Enterprise
For mission-critical volume
- Volume click pricing
- Dedicated infrastructure
- Contractual SLA + service credits
- SSO + audit log + custom DPA
- Slack-based support
Sending mission-critical transactional comms at scale? We'll quote based on your monthly link volume and reliability requirements — contact sales. See full pricing →
Built for procurement, security, and legal review
Real commitments, documented for the buyers who need them.
Status: status.linklyhq.com · Compliance details: GDPR
Transactional link shortener — frequently asked questions
- What's a transactional link shortener?
- A short-link service built for links that have to work reliably, every time — magic links, password resets, order confirmations, appointment reminders. The distinguishing features are link permanence (no expiry, no breakage on plan changes), an uptime SLA on the redirect path, and brand-domain trust signals that get the link past inbox filters.
- How is this different from Linkly for SMS marketing?
- Same underlying product, different audience and emphasis. The SMS marketing use case optimises for click-through rate on promotional sends. The transactional use case optimises for reliability and permanence on mission-critical sends. Most teams use Linkly for both, but the buying decision is usually driven by one or the other.
- Do Linkly short links expire?
- No. Every link Linkly creates is permanent by default. There is no TTL, no auto-deletion, and no expiry option built into the link itself. If you need an expiring or scheduled link, enforce expiry on your auth token or destination — not on the Linkly short link.
- What happens if I exceed my plan's click limit on a transactional send?
- Links keep redirecting. Linkly does not break in-the-wild links if you exceed your plan limits — you're notified by email and prompted to upgrade, but the redirect path stays live. This matters most for password-reset and order-confirmation sends, where a broken link costs you the user.
- What's Linkly's uptime SLA on the redirect path?
- 99.9% measured on the redirect path (the critical surface for transactional links). Status page at status.linklyhq.com shows historical uptime. Enterprise plans include a contractual SLA with defined service credits.
- Can I shorten magic links and password-reset links via API?
- Yes. Use Linkly's REST API to generate a branded short link from your auth URL before sending. Bulk-create up to 1,000 links per request, full OpenAPI 3.0 spec. See the URL Shortener API page for full code samples in six languages.
- Will branded short links improve email deliverability for transactional sends?
- Generally yes. Email inbox filters increasingly flag generic shorteners (bit.ly, tinyurl.com) on transactional sends because phishing campaigns abuse them at scale. Branded short links on a domain that matches your sending domain read as legitimate. SMS deliverability follows a similar pattern — US carriers' filtering rules favour branded short domains over generic shorteners.
- Does Linkly support GDPR-compliant transactional sends?
- Yes. Linkly is GDPR-compliant by default. A Data Processing Addendum is available for all paid customers. EU data residency is available on Enterprise plans. Webhook payloads can be configured to exclude personally identifiable information for stricter compliance needs — useful for healthcare and financial-services use cases.
- Can I integrate Linkly with SendGrid, Postmark, Mailgun, or Twilio?
- Yes. Linkly sits in front of any email or SMS provider — generate a branded short link via Linkly's REST API, then pass the result into your provider's send call. No provider migration required. Works alongside SendGrid, Postmark, Mailgun, AWS SES, Twilio, Bandwidth, Sinch, and any system that can make an HTTPS request.
- What does Linkly's status page show?
- Real-time and historical uptime metrics for the redirect path, the API, and the dashboard. Subscribe to status updates by email or RSS. Status page lives at status.linklyhq.com.
Ship transactional links that don't break
Free API key, 1,000 calls per month, no card required. Links never expire.