Visitly API

A simple REST API to create and manage short links and read analytics. Authenticate with a personal API key. Every key is scoped to your own account only.

Base URL

https://visitly.store/api

Authentication

Generate a key in your dashboard under API keys. Send it as a Bearer token:

Authorization: Bearer vsk_live_xxxxxxxxxxxxxxxxxxxx

Keys carry scopes (links:read, links:write, stats:read) and only ever access the resources of the account that created them. Keys are shown once and stored hashed.

Endpoints

MethodPathDescription
GET/api/meCurrent account
POST/api/linksCreate a link { destination_url, slug?, title? }
GET/api/linksList your links (q, sort, page)
GET/api/links/:idGet one link
PATCH/api/links/:idEdit { destination_url?, slug?, title?, is_active? }
DELETE/api/links/:idDelete a link
GET/api/links/:id/statsAnalytics (range=7d|30d|90d)
GET/api/stats/overviewAccount totals

Create a link

curl -X POST https://visitly.store/api/links \
  -H "Authorization: Bearer vsk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"destination_url":"https://example.com/a/very/long/url","slug":"launch"}'
{
  "id": "…",
  "slug": "launch",
  "short_url": "https://visitly.store/launch",
  "destination_url": "https://example.com/a/very/long/url",
  "click_count": 0
}

Edit the destination later

curl -X PATCH https://visitly.store/api/links/LINK_ID \
  -H "Authorization: Bearer vsk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"destination_url":"https://example.com/new-target"}'

Use it from an AI assistant

When you create an API key, Visitly also generates a downloadable skill file describing these endpoints with your key embedded. Hand it to any AI model and it can manage your links and read your analytics — and nothing else, because the key is scoped to your account.

Rate limits & errors

Standard HTTP status codes. 401 (no/invalid auth), 403 (scope/forbidden), 404 (not found), 409 (slug taken), 429 (rate limited). Validation errors return 400 with an error message.

Get your API key