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 LinksSocial PreviewsAnalytics

Deep Linking

iOS Deep LinkingAndroid Deep Linking

Account & Billing

Plans & Billing

Migration

Firebase Migration

API Reference

API OverviewAPI Endpoints
DocsAPI Overview

API Overview

Manage your projects, dynamic links, and app registrations programmatically via the LinkSense REST API.

Introduction

The LinkSense REST API gives you programmatic access to all resources in your account — projects, dynamic links, iOS apps, and Android apps. Every action available in the dashboard can also be performed through the API, making it straightforward to integrate LinkSense into your CI/CD pipelines, internal tooling, or backend services.

API access is available on the Pro plan. Requests are authenticated using API keys scoped to your account. All responses are JSON.

Pro plan required

The REST API is a Pro-only feature. Upgrade your plan to generate API keys and start making requests.

Base URL

All API requests are made to the following base URL. Append the endpoint path to this URL for each request.

Base URLtext
https://linksense.net/api/v1

Authentication

Authenticate every request by including your API key as a Bearer token in the Authorization header. API keys begin with ls_live_.

Authorization headertext
Authorization: Bearer ls_live_your_api_key_here

Generating API keys

Generate and manage your API keys from Dashboard › Settings › API Keys. Treat your keys like passwords — never commit them to source control or expose them in client-side code.

Rate Limits

The API enforces a limit of 60 requests per minute per API key. If you exceed this limit, the API returns a 429 Too Many Requests response. Each response includes the following headers so you can track your usage:

FieldTypeRequiredDescription
X-RateLimit-LimitnumberNoMaximum number of requests allowed per window.
X-RateLimit-RemainingnumberNoNumber of requests remaining in the current window.
X-RateLimit-ResetnumberNoUnix timestamp (seconds) at which the current window resets.

Response Format

All successful responses wrap the result in a data envelope. Error responses use an error envelope with a machine-readable code and a human-readable message.

Success responsejson
{
  "data": {
    "id": "abc123",
    "name": "My Project",
    "subdomain": "my-project",
    "created_at": "2024-01-01T00:00:00Z"
  }
}
Error responsejson
{
  "error": {
    "code": "NOT_FOUND",
    "message": "The requested resource does not exist."
  }
}

Error Codes

The API uses consistent error codes across all endpoints. Use the code field in error responses to handle specific failure cases in your integration.

FieldTypeRequiredDescription
INVALID_INPUT400NoRequest body or query parameter validation failed.
UNAUTHORIZED401NoAPI key is missing, invalid, or has been revoked.
ACCESS_DENIED403NoYour plan doesn't include API access or the resource belongs to another account.
NOT_FOUND404NoThe requested resource does not exist.
IOS_APP_NOT_FOUND404NoThe iOS app referenced by ios_app_id does not exist in the project.
ANDROID_APP_NOT_FOUND404NoThe Android app referenced by android_app_id does not exist in the project.
SUBDOMAIN_TAKEN409NoThe subdomain is already in use by another project.
SUBDOMAIN_RESERVED400NoThe subdomain uses a reserved word that cannot be assigned to projects.
CUSTOM_PATH_EXISTS409NoA link with this custom path already exists in the project.
BUNDLE_ID_EXISTS409NoAn iOS app with this bundle ID already exists in the project.
PACKAGE_NAME_EXISTS409NoAn Android app with this package name already exists in the project.
LINKED_REFERENCES409NoThe app cannot be deleted because it is referenced by one or more dynamic links.
RATE_LIMITED429NoYou have exceeded the rate limit. Wait until the window resets.

HTTP status codes

The Type column above shows the HTTP status code returned for each error. Always check the HTTP status first, then use the code field for precise error handling.

Quick Example

Here is a minimal example that lists your projects using cURL. Replace the API key with your own from the dashboard.

List projectsbash
curl -H "Authorization: Bearer ls_live_abc123..." \
  https://linksense.net/api/v1/projects

Ready to explore all available endpoints? Continue to the API Endpoints reference.

API Endpoints

Browse all available endpoints for projects, links, and apps.

Plans & Billing

Upgrade to Pro to unlock API access.

PreviousFirebase Migration
NextAPI Endpoints

On this page

IntroductionBase URLAuthenticationRate LimitsResponse FormatError CodesQuick Example