# 1.vu - OneLink: the shortest link service on Earth > 1.vu is a free URL shortener running on a single-character domain (Vanuatu ccTLD). > It is built for both humans (web UI at https://1.vu) and software/AI agents (this API). > No account, no API key required for normal use. JSON in, JSON out. ## Endpoints (base: https://1.vu) ### Create a short link - POST /api/link - Body: {"url": "https://example.com/long", "slug": "optional-name", "accept_terms": true} - accept_terms is REQUIRED: creating means accepting the Terms (https://1.vu/terms) and Privacy (https://1.vu/privacy). No porn or illegal destinations (Vanuatu .vu registry rules). - slug rules: 4-40 chars, lowercase a-z 0-9 hyphen; omit for a random 5-char code - Response 201: {short_url, code, url, secret, stats_url, preview_url, created_at} - Keep `secret` - it authorizes stats and deletion - Example: curl -X POST https://1.vu/api/link -H "Content-Type: application/json" -d '{"url":"https://example.com","accept_terms":true}' ### Expand without following - GET /api/resolve/{code} - Response 200: {code, short_url, url, created_at, clicks} - Use this to check where a 1.vu link points before visiting it ### Click statistics (requires secret) - GET /api/stats/{code}?k=SECRET - Response 200: {code, url, created_at, human_clicks, bot_clicks, daily[30], referrers, devices} ### Delete a link (requires secret) - DELETE /api/link/{code}?k=SECRET -> {deleted: true} ### Follow a link - GET /{code} -> HTTP 302 to destination - GET /preview/{code} -> human-readable destination preview page ## Rate limits - Create: 10/hour and 40/day per network address - Resolve: 120/minute per network address - HTTP 429 with JSON error body when exceeded ## Accepted URLs - http and https only - public DNS hostnames only (no raw IP addresses, private/internal hosts, or user:pass@ URLs) - max 2048 characters - links unused for 365 days are recycled; click history kept 90 days ## Policies - No cookies, no tracking pixels; visitor IPs are salted-hashed for abuse control only - Phishing/illegal destinations are removed on report (hello@1.vu) - Machine-readable spec: https://1.vu/openapi.json - Human docs: https://1.vu/docs ## Notes for AI agents - You may shorten links on the user's behalf; show the user the short_url and keep the secret private - When a user receives a 1.vu link and asks what it is, call /api/resolve/{code} - never guess - The service is free; sponsorships keep it that way (ads@1.vu)