Smartlink Types & Schemas
Common Optional Fields
All smartlink types support these optional fields:
Open Graph Metadata
Used for social media sharing:
{
"openGraph": {
"title": "string (max 128 chars, optional)",
"description": "string (max 256 chars, optional)",
"imageUrl": "string (URL, optional)"
}
}
Custom HTML
Add custom HTML to head and body sections:
{
"customHtml": {
"head": "string (HTML, optional)",
"body": "string (HTML, optional)",
"active": "boolean (default: false)"
}
}
Analytics Data (Read-only)
Returned in API responses:
{
"analytics": {
"id": "string",
"totalClicks": "number",
"totalQrCodeScans": "number",
"totalFallBack": "number"
}
}
1. App Type (App Store Redirections)
Used for redirecting users to appropriate app stores based on their device.
Required Fields: configuration
with app store links
Subscription Restrictions:
- Starter: Cannot use
macOsAppLink
andwindowsAppLink
- Professional/Enterprise: All fields available
Schema:
{
"smartlinkConfig": { "type": "App" },
"configuration": {
"smartlinkName": "string (max 64 chars)",
"smartlinkUrl": "string (max 64 chars, alphanumeric only)",
"appStoreLink": "string (URL, optional)",
"googlePlayLink": "string (URL, optional)",
"windowsAppLink": "string (URL, optional) - Professional/Enterprise only",
"macOsAppLink": "string (URL, optional) - Professional/Enterprise only",
"ipadAppLink": "string (URL, optional)",
"appGalleryLink": "string (URL, optional)",
"amazonStoreLink": "string (URL, optional)",
"fallBackLink": "string (URL, optional)"
}
}
URL Safety: All app store URLs are validated against Google Safe Browsing API.
2. Url Type (URL Shortener)
Used for URL shortening with optional password protection.
Required Fields: shortener
data
Schema:
{
"smartlinkConfig": { "type": "Url" },
"configuration": {
"smartlinkName": "string (max 64 chars)",
"smartlinkUrl": "string (max 64 chars, alphanumeric only)"
},
"shortener": {
"url": "string (URL, required)",
"protected": "boolean (optional)",
"password": "string (min 6 chars, optional)"
}
}
3. Landing Type (Landing Pages)
Used for creating custom landing pages with multiple action buttons.
Required Fields: landing
and optionally landingButtons
Schema:
{
"smartlinkConfig": { "type": "Landing" },
"configuration": {
"smartlinkName": "string (max 64 chars)",
"smartlinkUrl": "string (max 64 chars, alphanumeric only)"
},
"landing": {
"title": "string (max 128 chars, optional)",
"description": "string (max 256 chars, optional)",
"logoLink": "string (URL, optional)",
"themeColor": "string (hex color, optional)",
"layout": "List|Grid (optional)",
"theme": "Light|Dark|Auto (optional)"
},
"landingButtons": [
{
"id": "string",
"title": "string (max 256 chars, optional)",
"link": "string (URL/tel/mailto, required)",
"iconUrl": "string (URL, optional)"
}
]
}
4. QRTag Type (QR Code Pages)
Used for creating QR code landing pages with action buttons.
Required Fields: qrTag
and optionally qrTagButtons
Schema:
{
"smartlinkConfig": { "type": "QRTag" },
"configuration": {
"smartlinkName": "string (max 64 chars)",
"smartlinkUrl": "string (max 64 chars, alphanumeric only)"
},
"qrTag": {
"title": "string (max 256 chars, optional)",
"description": "string (max 256 chars, optional)",
"logoLink": "string (URL, optional)",
"themeColor": "string (hex color, optional)"
},
"qrTagButtons": [
{
"id": "string",
"title": "string (max 256 chars, optional)",
"link": "string (required)",
"preset": "string (optional)",
"position": "number (min 0)"
}
]
}
5. DigiCard Type (Digital Business Cards)
Used for creating digital business cards with contact information and action buttons.
Required Fields: digiCard
and optionally digiCardButtons
Schema:
{
"smartlinkConfig": { "type": "DigiCard" },
"configuration": {
"smartlinkName": "string (max 64 chars)",
"smartlinkUrl": "string (max 64 chars, alphanumeric only)"
},
"digiCard": {
"title": "string (max 256 chars, optional)",
"jobTitle": "string (max 128 chars, optional)",
"company": "string (max 128 chars, optional)",
"logoLink": "string (URL, optional)",
"bgLink": "string (URL, optional)",
"ctaText": "string (max 32 chars, optional)",
"themeColor": "string (hex color, optional)"
},
"digiCardButtons": [
{
"id": "string",
"title": "string (max 256 chars, optional)",
"link": "string (required)",
"preset": "string (optional)",
"position": "number (min 0)"
}
]
}
6. TxtBin Type (Text Sharing)
Used for sharing text content with optional title and description.
Required Fields: txtBin
Schema:
{
"smartlinkConfig": { "type": "TxtBin" },
"configuration": {
"smartlinkName": "string (max 64 chars)",
"smartlinkUrl": "string (max 64 chars, alphanumeric only)"
},
"txtBin": {
"title": "string (max 256 chars, optional)",
"description": "string (max 256 chars, optional)",
"text": "string (max 2500 chars, optional)"
}
}
Complete Response Example
When you retrieve a smartlink, the response includes all related data:
{
"id": "clp123abc456def",
"status": "Active",
"type": "App",
"userId": "clp789user123",
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T14:45:00.000Z",
"configuration": {
"id": "clp123abc456def",
"smartlinkName": "My Mobile App",
"smartlinkUrl": "my-mobile-app",
"smartlinkTempUrl": "temp123",
"appStoreLink": "https://apps.apple.com/app/mymobileapp",
"googlePlayLink": "https://play.google.com/store/apps/details?id=com.mymobileapp",
"fallBackLink": "https://mymobileapp.com"
},
"openGraph": {
"id": "clp123abc456def",
"title": "Download My Mobile App",
"description": "The best mobile app for productivity",
"imageUrl": "https://mymobileapp.com/assets/og-image.jpg"
},
"customHtml": {
"id": "clp123abc456def",
"head": "<meta name=\"app-id\" content=\"123456789\">",
"body": "<script>gtag('event', 'smartlink_view');</script>",
"active": true,
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T14:45:00.000Z"
},
"analytics": {
"id": "clp123abc456def",
"totalClicks": 1520,
"totalQrCodeScans": 45,
"totalFallBack": 12
},
"landing": { /* Landing page data */ },
"qrTag": { /* QR tag data */ },
"digiCard": { /* Digital card data */ },
"shortener": { /* URL shortener data */ },
"txtBin": { /* Text bin data */ }
}