documentation & writing

Everything written down

Two documentation sites, machine-readable API artifacts, a handful of technical articles, and definitions for the terms this product uses precisely.

User guide

The whole browser interface, in plain language. Roles, link settings, how to read analytics honestly, import and export, troubleshooting.

Developer docs

Authentication and scopes, request conventions, the full endpoint reference, snippets in four languages, and MCP setup for every supported client.

OpenAPI 3.1

Every endpoint, schema and documented error, ready for client generation or contract testing.

Postman collection

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.

Short link
A short URL that redirects a visitor to a longer destination. The short URL is permanent; the destination can change beneath it.
Slug
The text after the slash. On c1k.me it is case-sensitive, 3 to 48 characters, and unique per hostname.
Recorded redirect
A redirect the service handled and successfully wrote to analytics. The unit behind every click figure, and not a claim about people.
Coverage
Whether the recorded data for a period is complete, known incomplete, uncertain, outside retention or unmeasurable on this host.
302 redirect
A temporary redirect. c1k.me uses it so that changing a destination takes effect immediately rather than being cached by browsers.
410 Gone
The response a deleted link returns. Distinct from 404, which means the slug never existed or has not started yet.
UTM parameters
Query keys such as utm_source and utm_medium, appended to a destination so the receiving analytics tool can attribute the visit.
Query forwarding
Passing selected query keys from the short URL through to the destination. Keys not on the list are dropped.
Scope
A named permission such as links:read, granted to a credential or an agent connection. A credential can never exceed its scopes.
MCP
Model Context Protocol: a standard way for AI assistants to call tools on a remote service. c1k.me implements it natively over HTTPS.
Idempotency key
A client-supplied identifier that makes a retried creation safe: the same key with the same body returns the original result instead of creating a duplicate.
Optimistic concurrency
Editing by stating the version you expect. If someone else changed the object first, the write is rejected rather than silently overwriting them.