BlissLyng Developer API
Build URL shortening into WordPress, WhatsApp bots, social schedulers, agency campaign tools, dashboards, CRMs, and internal SaaS workflows.
Create API key View endpointscurl -X POST https://blisslyng.com/api/v1/links \
-H "Authorization: Bearer bl_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/sale",
"alias": "lagos-sale",
"campaign": "may-launch",
"utm_source": "instagram"
}'
1 API key, 1,000 requests/day, links, QR, and analytics summaries.
5 API keys, 10,000 requests/day, bulk API, webhooks, and team automation.
Hashed API keys, scopes, daily quotas, activity logs, signed webhooks, and prepared queries.
Authentication
Send your personal API key as a bearer token. Keys are created from the dashboard and are only displayed once.
Authorization: Bearer bl_live_your_key
Endpoints
| Method | Endpoint | Purpose |
|---|---|---|
| GET | /api/v1/me | Check key, plan, scopes, and quota. |
| POST | /api/v1/links | Create a short URL with aliases, UTM tags, expiration, password protection, custom domains, and scheduling. |
| GET | /api/v1/links | List links with pagination, search, and status filtering. |
| GET | /api/v1/links/{slug} | Retrieve one link. |
| PATCH | /api/v1/links/{slug} | Update destination, alias, password, expiration, UTM, campaign, or schedule. |
| DELETE | /api/v1/links/{slug} | Delete a link. |
| POST | /api/v1/links/{slug}/pause | Pause a link. |
| POST | /api/v1/links/{slug}/activate | Reactivate a paused link. |
| GET | /api/v1/links/{slug}/analytics | Clicks, countries, devices, browsers, referrers, operating systems, and Agency click timestamps. |
| GET | /api/v1/links/{slug}/qr | Generate a QR image URL. |
| POST | /api/v1/bulk/links | Agency bulk link creation, up to 500 URLs per request. |
| GET/POST/DELETE | /api/v1/webhooks | Agency webhook management and test delivery. |
Scopes
links:readlinks:writeanalytics:readqr:readbulk:writewebhooks:readwebhooks:write
Webhooks
Agency webhooks are signed with X-BlissLyng-Signature. Verify the HMAC SHA-256 of timestamp.payload using the webhook secret shown at creation.
X-BlissLyng-Timestamp: 1779045000 X-BlissLyng-Signature: v1=hex_hmac_sha256(timestamp + "." + raw_json)
Error Format
{
"success": false,
"error": "Daily API request quota exceeded."
}