Get started
Create a free account with your email or Google. Confirm your email and you land in your own workspace, ready to shorten your first link. There’s nothing to install.
Want to look around first? Open the demo workspace. Its numbers are made up and your changes stay in your browser, so its links don’t go anywhere.
Create, organize, share
Paste a long link into the box at the top of the Links screen and press Enter: Vink creates the short link and copies it. Use “New link with rules” (or press N) to set a name, tag, expiry, password, phone destinations or a traffic split. Click any link to see its clicks and route, copy it, get a QR code, test where it sends someone, or restore an older version.
Bulk import accepts CSV with a required destination column and optional title, alias, and tag columns. Up to 100 rows are processed individually; successful rows stay created if another row fails.
Bring your own domain
Open Domains and type the domain you want, like go.yourbrand.com. Use a subdomain so your main site stays untouched. Vink shows one TXT record to add where you manage DNS. It proves the domain is yours.
Then add a CNAME record that points your domain at Vink’s short domain, shown on the same screen, and press Check. HTTPS turns on by itself. Only a confirmed domain can be used for links, and only by the workspace that confirmed it.
A straightforward REST API
Create an API key in Settings. Keys can only read or can read and write, expire after 90 days, and are separate from your sign-in. Send the key as a bearer token to https://api.usevink.com/v1.
curl https://api.usevink.com/v1/links \
-H "Authorization: Bearer $VINK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"The launch","destination":"https://example.com/launch","alias":"launch","tag":"Campaign"}'| Method | Endpoint | Purpose |
|---|---|---|
| GET, POST | /v1/links | List or create links |
| GET, PUT, DELETE | /v1/links/{id} | Read, replace, or delete a link |
| POST | /v1/links/bulk | Create up to 100 links |
| GET | /v1/links/{id}/rehearse | Simulate a routing decision |
| GET | /v1/links/{id}/revisions | List route history |
| POST | /v1/links/{id}/restore/{version} | Restore a previous version |
| GET | /v1/analytics?days=30 | Aggregate click analytics |
| GET | /v1/events | Read the last 100 workspace events |
| GET, PUT | /v1/bio | Read or publish the workspace page |
List links with limit (1–200) and offset. Responses include data and total. Updates and restores require If-Match: 3, using the current link version. A stale version returns 412. Invalid input returns 400, missing credentials 401, insufficient role 403, duplicates 409, and rate limits 429 with Retry-After.
For full request and response schemas, download the OpenAPI specification. Administrative team, domain, and key operations use panel sessions with owner/admin authorization.
Predictable routing, reversible changes
The decision order is status, expiration, password, mobile app link, weighted experiment, then default destination. Experiment weights must be positive and total 100. Traffic assignment is per click; it does not fingerprint visitors or persist cohorts.
HTTPS universal links and Android app links rely on your destination’s platform association files. Vink does not host those files. Rehearsal is authenticated and never bypasses public access checks. History snapshots retain route configuration; restoring one creates a new version.
What a click records
Each click keeps its time, the link, the visitor’s country, device type, browser, the site they came from and any campaign tags. IP addresses and full referrer addresses are never stored. Clicks are deleted after 90 days.
Counting happens after the visitor has gone, so it never slows a redirect. Counts are redirects, including bots and link previews, not unique people.