OneLink API
Free, keyless for normal use, JSON in and JSON out. Made for scripts, apps and AI agents. Full machine spec: openapi.json · llms.txt.
Create a link
POST
/api/linkrequest
curl -X POST https://1.vu/api/link \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/very/long/address",
"slug": "my-island",
"accept_terms": true}'slug is optional: 4–40 chars, lowercase letters, digits, hyphens. Omit it for a random 5-character code. accept_terms: true is required — see the Terms.
response · 201
{
"short_url": "https://1.vu/my-island",
"code": "my-island",
"url": "https://example.com/very/long/address",
"secret": "a1b2c3d4e5f6a7b8c9d0", // keep private
"stats_url": "https://1.vu/s/my-island?k=a1b2c3d4e5f6a7b8c9d0",
"preview_url":"https://1.vu/preview/my-island",
"created_at": 1770000000
}Resolve (expand safely)
GET
/api/resolve/{code}Returns where a link points without following it — lets agents and users check a destination before visiting.
response · 200
{ "code": "k7mQ3", "short_url": "https://1.vu/k7mQ3",
"url": "https://example.com/very/long/address",
"created_at": 1770000000, "clicks": 42 }Click stats
GET
/api/stats/{code}?k=SECRETDaily human clicks (30 days), top referrers, device split. Requires the secret returned at creation.
Delete a link
DELETE
/api/link/{code}?k=SECRETPermanently removes the link and its click history.
Limits & rules
- Create: 10 links / hour, 40 / day per network address, keyless.
- Resolve: 120 / minute per address.
- Only
http/httpswith public DNS names (no raw IPs, private hosts, oruser:pass@URLs). - Links unused for 365 days are recycled. Click history is kept 90 days.
- No cookies, no tracking pixels; IPs are salted-hashed for abuse control only.
- Illegal or phishing destinations are removed on report — hello@1.vu.