Getting Started
Base URL
https://api.linkvaultpro.com/v1Authentication
All requests use a Bearer token in the Authorization header.
Authorization: Bearer lv_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxRate limits
| Plan | Requests / min | Requests / day |
|---|---|---|
| Free | 30 | 1,000 |
| Pro | 120 | 50,000 |
| Business | 600 | 500,000 |
Links API
GET
/v1/linksList all links in the workspace.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| limit | int | no | Max 100, default 25 |
| cursor | string | no | Pagination cursor |
Example
curl https://api.linkvaultpro.com/v1/links \
-H "Authorization: Bearer $LV_KEY"POST
/v1/linksCreate a new short link.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| destination_url | string | yes | Target URL |
| custom_alias | string | no | Custom short code |
| title | string | no | Display title |
| expires_at | ISO8601 | no | Auto-expire date |
Example
curl -X POST https://api.linkvaultpro.com/v1/links \
-H "Authorization: Bearer $LV_KEY" \
-H "Content-Type: application/json" \
-d '{"destination_url":"https://example.com"}'GET
/v1/links/:idRetrieve a single link by ID.
Example
curl https://api.linkvaultpro.com/v1/links/LINK_ID -H "Authorization: Bearer $LV_KEY"PATCH
/v1/links/:idUpdate link fields.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| destination_url | string | no | New target URL |
| title | string | no | New title |
Example
curl -X PATCH https://api.linkvaultpro.com/v1/links/LINK_ID \
-H "Authorization: Bearer $LV_KEY" \
-d '{"title":"Updated"}'DELETE
/v1/links/:idDelete a link.
Example
curl -X DELETE https://api.linkvaultpro.com/v1/links/LINK_ID -H "Authorization: Bearer $LV_KEY"GET
/v1/links/:id/analyticsPer-link analytics.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| from | ISO8601 | no | Start date |
| to | ISO8601 | no | End date |
Example
curl "https://api.linkvaultpro.com/v1/links/LINK_ID/analytics?from=2025-01-01" -H "Authorization: Bearer $LV_KEY"QR Codes API
GET
/v1/qr-codesList all QR codes.
Example
curl https://api.linkvaultpro.com/v1/qr-codes -H "Authorization: Bearer $LV_KEY"POST
/v1/qr-codesCreate QR code.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| link_id | uuid | yes | Associated link |
Example
curl -X POST https://api.linkvaultpro.com/v1/qr-codes -H "Authorization: Bearer $LV_KEY" -d '{"link_id":"..."}'GET
/v1/qr-codes/:idRetrieve a single QR code.
Example
curl https://api.linkvaultpro.com/v1/qr-codes/ID -H "Authorization: Bearer $LV_KEY"PATCH
/v1/qr-codes/:idUpdate QR code style.
Example
curl -X PATCH https://api.linkvaultpro.com/v1/qr-codes/ID -H "Authorization: Bearer $LV_KEY" -d '{"style":{}}'DELETE
/v1/qr-codes/:idDelete QR code.
Example
curl -X DELETE https://api.linkvaultpro.com/v1/qr-codes/ID -H "Authorization: Bearer $LV_KEY"Analytics API
GET
/v1/analytics/overviewWorkspace-wide analytics overview.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| from | ISO8601 | no | Start date |
| to | ISO8601 | no | End date |
Example
curl "https://api.linkvaultpro.com/v1/analytics/overview?from=2025-01-01" -H "Authorization: Bearer $LV_KEY"GET
/v1/analytics/links/:idDetailed link analytics.
Example
curl https://api.linkvaultpro.com/v1/analytics/links/ID -H "Authorization: Bearer $LV_KEY"Webhooks
Events
| Event | Description |
|---|---|
| link.created | A new link was created |
| link.clicked | A link was visited |
| qr.scanned | A QR code was scanned |
| link.expired | A link reached its expiration date |
Payload
{
"id": "evt_xxx",
"type": "link.clicked",
"created_at": "2025-01-01T12:00:00Z",
"data": {
"link_id": "uuid",
"short_code": "abc123",
"country": "US",
"device": "mobile"
}
}HMAC signature verification
Every webhook request includes X-LV-Signature. Verify with your webhook secret:
# HMAC SHA-256 verification (bash)
body=$(cat)
expected=$(echo -n "$body" | openssl dgst -sha256 -hmac "$WEBHOOK_SECRET" -hex | sed 's/^.* //')
[ "$expected" = "$SIGNATURE" ] && echo "ok" || echo "fail"