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=100QR 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