Everything written down
Two documentation sites, machine-readable API artifacts, a handful of technical articles, and definitions for the terms this product uses precisely.
The whole browser interface, in plain language. Roles, link settings, how to read analytics honestly, import and export, troubleshooting.
Authentication and scopes, request conventions, the full endpoint reference, snippets in four languages, and MCP setup for every supported client.
Every endpoint, schema and documented error, ready for client generation or contract testing.
Grouped by area, with variables wired so creating a link feeds the update and delete requests automatically.
Articles
Written when there is something worth saying, not on a content calendar. Mostly technical, occasionally about why the product is shaped the way it is.
Why a cached 301 is close to unfixable, what redirect type really does to ranking signals, and how caching quietly erodes your click numbers over time.
What each of the five parameters is for, the rules that stop campaign data turning to mush, and why the tagging belongs on the destination rather than the link you share.
A slug is a permanent public name. Conventions that stay readable on a badge, hold at ten people, and do not collide a year later.
Reading the headers before you write a retry loop, backoff with jitter and a cap, and why an agent will hammer an endpoint unless the server absorbs the pacing for it.
Why the code should encode a short link rather than a destination, how error correction pays for a centre logo, and the print details that decide whether it scans at all.
Short links are a dependency. What breaks when one disappears, why an expired shortener domain is the worst case, and the four habits that make the risk survivable.
A practical walkthrough of Streamable HTTP config for each client, what the OAuth handshake actually exchanges, why a 405 on connect usually means the client opened an SSE stream, and how to tell whether your scopes or the server are hiding a tool.
Email scanners, chat previews and prefetchers all fire real requests at your links. An explanation of why filtering them is guesswork, why coverage labels beat silent correction, and how to read a recorded-redirect number without fooling yourself.
What If-Match, 412 and 428 mean in practice, why a shortener needs them the moment an agent and a human share a workspace, and the five-line retry loop that handles it correctly.
How to generate a key, how long to reuse it, what happens when the same key arrives with a different body, and why retrying a create without one is how duplicate links happen.
Export, column mapping, validating in chunks before writing anything, deciding what to do with slug collisions, and why the links you cannot migrate are the ones already printed on something.
Glossary
Terms used precisely throughout the product and the docs.