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 endpoints
curl -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"
  }'
Pro

1 API key, 1,000 requests/day, links, QR, and analytics summaries.

Agency

5 API keys, 10,000 requests/day, bulk API, webhooks, and team automation.

Security

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

MethodEndpointPurpose
GET/api/v1/meCheck key, plan, scopes, and quota.
POST/api/v1/linksCreate a short URL with aliases, UTM tags, expiration, password protection, custom domains, and scheduling.
GET/api/v1/linksList 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}/pausePause a link.
POST/api/v1/links/{slug}/activateReactivate a paused link.
GET/api/v1/links/{slug}/analyticsClicks, countries, devices, browsers, referrers, operating systems, and Agency click timestamps.
GET/api/v1/links/{slug}/qrGenerate a QR image URL.
POST/api/v1/bulk/linksAgency bulk link creation, up to 500 URLs per request.
GET/POST/DELETE/api/v1/webhooksAgency 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."
}