1.vu

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/link
request
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=SECRET

Daily human clicks (30 days), top referrers, device split. Requires the secret returned at creation.

Delete a link

DELETE/api/link/{code}?k=SECRET

Permanently removes the link and its click history.

Limits & rules