LinkSense
FeaturesPricingDocs
Sign InGet Started
LinkSense

Smart dynamic mobile links for the modern web

Product

  • Features
  • Pricing
  • Documentation

Company

  • About
  • Contact
  • Privacy
  • Terms
  • Refund Policy

Support

  • Help Center

© 2026 Informacijske storitve BACK2PIXELS, Jan Kokalj s.p. All rights reserved.

Getting Started

Introduction

Core Features

ProjectsDynamic LinksURL ShorteningSocial PreviewsAnalytics

Deep Linking

iOS Deep LinkingAndroid Deep Linking

Mobile SDKs

iOS SDKBetaAndroid SDKBetaFlutter SDKBetaFlutterFlow SDKSoonReact Native SDKPreview

Account & Billing

Plans & Billing

Migration

Firebase Migration

API Reference

API OverviewAPI Endpoints
DocsCore FeaturesURL Shortening
Core Features

URL Shortening

Create branded, ultra-short aliases for your dynamic links. Pro feature.

Overview

A short link is an alias that points at an existing dynamic link. It lives on the same project subdomain ({subdomain}.linksense.net/{slug}) and inherits the parent link's routing, social preview, deep-link config, and analytics. The only difference is the path: shorter, brandable, memorable.

Short links are perfect for campaigns where the URL is read aloud, printed on physical material, or shared in character-limited channels — turn acme.linksense.net/spring-promo-2026 into acme.linksense.net/promo.

Short Links vs Custom Paths

Both feel similar but serve different roles:

  • Custom paths are part of a dynamic link's identity. One per link.
  • Short links are campaign-style aliases. A link can have many; delete and recreate to rotate.

Both share the slug namespace within a project — you cannot have a short link with the same path as a sibling custom path (or vice versa).

Creating in the Dashboard

1
Open your dynamic link

Find the dynamic link you want to alias and open its action menu in the links list.

2
Choose "Short links"

Pick the new Short links action to open the manager dialog.

3
Pick a slug (optional)

Enter a custom slug (3–20 characters) or leave it blank — we'll auto-generate a 4-character one.

4
Create and share

The short URL is copied to your clipboard automatically. Share it anywhere.

REST API

Short link CRUD is available under the project-scoped REST API. Authenticate with an API key (ls_live_…). All endpoints require the Pro plan; calls from Starter accounts return 403 FORBIDDEN_PLAN.

API OverviewAuthentication, rate limits, and the standard response envelope.

Create

POST /api/v1/projects/{projectId}/short-links
bash
curl -X POST https://linksense.net/api/v1/projects/$PROJECT_ID/short-links \
-H "Authorization: Bearer $LINKSENSE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dynamic_link_id": "00000000-0000-0000-0000-000000000000",
"slug": "promo"
}'
FieldTypeRequiredDescription
dynamic_link_iduuidYesThe parent dynamic link this slug aliases. Must belong to the same project.
slugstringNo3–20 chars, lowercase a–z, 0–9, hyphens and underscores allowed (not leading/trailing). Auto-generated when omitted.

Successful responses return 201 Created with the new short link plus its fully-formed short_url:

201 Created
json
{
"data": {
"id": "11111111-1111-1111-1111-111111111111",
"project_id": "00000000-0000-0000-0000-000000000000",
"dynamic_link_id": "00000000-0000-0000-0000-000000000000",
"slug": "promo",
"short_url": "https://acme.linksense.net/promo",
"source": "api",
"created_by": "...",
"created_by_api_key_id": "...",
"created_at": "2026-05-25T12:00:00Z",
"updated_at": "2026-05-25T12:00:00Z"
}
}

List

GET /api/v1/projects/{projectId}/short-links
bash
curl "https://linksense.net/api/v1/projects/$PROJECT_ID/short-links?page=1&limit=10&dynamic_link_id=$LINK_ID" \
-H "Authorization: Bearer $LINKSENSE_API_KEY"

Optional query params: page (default 1), limit (default 10, max 100), dynamic_link_id to filter to a single parent.

Get / Delete

Single short link
bash
# Fetch
curl https://linksense.net/api/v1/projects/$PROJECT_ID/short-links/$ID \
-H "Authorization: Bearer $LINKSENSE_API_KEY"
 
# Delete (slugs are immutable — delete and recreate to rename)
curl -X DELETE https://linksense.net/api/v1/projects/$PROJECT_ID/short-links/$ID \
-H "Authorization: Bearer $LINKSENSE_API_KEY"
Slugs are immutable. To rename, delete the existing alias and create a new one. Historical click attribution remains intact even after the alias is deleted.

SDK Resolve

Native apps can expand a short URL into its parent dynamic link payload via the SDK resolve endpoint. The wire contract is live today; convenience methods (resolve(shortURL)) ship in the next minor SDK release per platform.

POST /api/sdk/v1/short-links/resolve
bash
curl -X POST https://linksense.net/api/sdk/v1/short-links/resolve \
-H "Authorization: Bearer $LINKSENSE_SDK_KEY" \
-H "Content-Type: application/json" \
-d '{ "slug": "promo" }'

The response contains the slug echo plus the parent dynamic link in the same shape returned by GET /api/sdk/v1/links/{linkId} — so SDKs can feed it straight into existing routing logic.

Project scoping
The endpoint is project-scoped by the SDK key. A slug that exists in a different project returns 404 NOT_FOUND — never 403 — so existence is not leakable across projects.

Analytics

Clicks on a short URL roll up to the parent dynamic link's analytics. The Top Links table shows a "Via short" badge per row with the count and most-used slug, so you can see which campaigns are driving traffic without breaking apart the parent link's totals.

Only clicks recorded after the v2 release carry slug attribution. Historical clicks from before via_short_slug shipped show as ungrouped.

Slug Rules & Collisions

  • 3–20 characters
  • Lowercase a–z, digits 0–9, single - or _ between alphanumerics
  • No leading or trailing separators
  • Reserved words (e.g. dashboard, api) are rejected
  • Unique within a project across both short_links and dynamic_links.custom_path

Collisions return 409 SLUG_EXISTS. Auto-generated slugs retry on collision; the keyspace (1.6M combinations per project at length 4) keeps that practically free.

Pricing

URL shortening is a Pro feature. There is no per-link cap beyond the standard project link limit. Starter accounts see an upgrade prompt in the dashboard and receive 403 FORBIDDEN_PLAN from the REST API.

Plans & BillingCompare Starter and Pro plans and see what else Pro unlocks.
PreviousDynamic LinksNextSocial Previews

On this page

OverviewShort Links vs Custom PathsCreating in the DashboardREST APICreateListGet / DeleteSDK ResolveAnalyticsSlug Rules & CollisionsPricing