Developers

REST API

Create API keys under Dashboard → Settings. Available on Pro and Enterprise plans. Rate limit: 60 requests per minute.

Authentication

Authorization: Bearer nx_your_api_key

Create a link

curl -X POST https://minisnip.com/api/v1/links \
  -H "Authorization: Bearer nx_..." \
  -H "Content-Type: application/json" \
  -d '{
    "originalUrl": "https://example.com/launch",
    "shortCode": "launch",
    "title": "Launch post",
    "utmSource": "twitter",
    "iosUrl": "https://apps.apple.com/app/id123",
    "geoTargets": "IN=https://example.in\nUS=https://example.com"
  }'

Responds with 201 and the link object including shortUrl.

List links

GET https://minisnip.com/api/v1/links?page=1&limit=50

Get a link with analytics

GET https://minisnip.com/api/v1/links/{id}

Returns the link plus top countries, devices, sources and referrers (bots excluded), and a breakdown of bots by name.

Update a link

PATCH https://minisnip.com/api/v1/links/{id}
{ "title": "New title", "tags": ["launch"], "isActive": false, "abVariants": "https://example.com/b | 50" }

Send only the fields you want to change. Set password, geoTargets or abVariants to null to clear them.

Bulk create

POST https://minisnip.com/api/v1/links/bulk
{ "links": [ { "originalUrl": "https://a.com" }, { "originalUrl": "https://b.com", "shortCode": "b", "tags": "promo" } ] }

Click events

GET https://minisnip.com/api/v1/links/{id}/clicks?page=1&limit=100

QR codes

GET https://minisnip.com/api/qr?data=https://minisnip.com/launch&size=600&fg=1d1d1f&bg=ffffff&format=png

Delete a link

DELETE https://minisnip.com/api/v1/links/{id}

Errors

401  Invalid or missing API key
402  Plan limit reached
403  API access requires Pro
409  Alias already taken
429  Rate limit exceeded