Documentation
Welcome to Lynx
Lynx is a programmable URL shortener built for engineering teams. Use the API to create, manage, and analyze short links at scale — from CI pipelines, server-side apps, or the dashboard.
Quickstart
Create your first short link in three steps.
- Sign in to your dashboard and grab an API key from Settings → API keys
- Make a POST request to /v1/links
- Use the returned short_url wherever you need it
curl -X POST https://api.lynx.co/v1/links \ -H "Authorization: Bearer $LYNX_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/very/long/path"}'
Response:
{
"id": "lnk_8aXbY2",
"short_url": "https://lynx.co/8aXbY2",
"long_url": "https://example.com/very/long/path",
"created_at": "2026-04-28T14:22:01Z"
}
Authentication
All API requests require a Bearer token in the Authorization header. Keys are scoped per-workspace and can be rotated at any time.
Authorization: Bearer lynx_live_sk_4f8a...
Keep keys secret. Never commit them to source control or expose them in client-side code.
Webhooks
Subscribe to click events in real time. Configure endpoints in Settings → Webhooks and we'll POST a JSON payload to your URL on every click:
{
"event": "link.clicked",
"link_id": "lnk_8aXbY2",
"country": "US",
"device": "mobile",
"timestamp": "2026-04-28T14:23:55Z"
}
Rate limits
Free tier: 60 req/min. Pro: 600 req/min. Enterprise: custom. When you hit the limit, we return a 429 with a Retry-After header.
Error codes
| Code | Meaning |
|---|---|
| 400 | Bad request — check your payload |
| 401 | Missing or invalid API key |
| 403 | Insufficient permissions |
| 429 | Rate limit exceeded |
| 500 | Server error — please retry |