GraphQL Types
lnkify
A shortened URL (shortlink).
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
user | User | Owning user |
target | String! | Destination URL |
lnkify | String! | Short slug |
hits(take: Int, skip: Int) | [hit] | Click events (paginated via take/skip) |
hitCount | Int! | Total clicks |
title | String | Display title |
enableTracking | Boolean! | Click tracking enabled |
byCountryGraph | [byCountryGraphItem] | Hits by country |
byChannel | [byChannelItem] | Hits by channel/source |
domain | Domain | Custom domain this link belongs to |
qrCode(format: String, size: Int, ecc: String) | String | QR code for this link. format: svg (default), png, or data; size in pixels; ecc: L/M/Q/H |
rules | [LinkRule!] | Link routing rules |
createdAt | String! | ISO 8601 creation timestamp |
updatedAt | String! | ISO 8601 update timestamp |
hit
A single click/redirect event.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
lnkify | lnkify | Parent shortlink |
ip | String | Visitor IP (anonymized) |
type | String | Connection type |
isp | String | ISP name |
timezone | timezone | Timezone info |
location | location | Geographic location |
browser | browser | Browser info |
os | os | OS info |
channel | String | Attributed traffic channel/source |
matchedRuleId | String | ID of the routing rule that matched this hit (if any) |
bioLinkId | String | ID of the bio-page link that produced this hit (if any) |
createdAt | String | ISO 8601 creation timestamp |
updatedAt | String | ISO 8601 update timestamp |
User
A registered user account.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
lnkifies(take: Int, skip: Int) | [lnkify!] | User's shortlinks (paginated; prefer the lnkifyConnection query for listing) |
name | String! | Display name |
email | String! | Email address |
createdAt | String! | ISO 8601 creation timestamp |
updatedAt | String! | ISO 8601 update timestamp |
ApiKey
An API key for programmatic access.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
label | String! | Human-readable label |
prefix | String! | First 8 chars for identification |
last4 | String! | Last 4 chars for verification |
lastUsedAt | String | Last usage timestamp |
expiresAt | String | Expiration timestamp (null = never) |
createdAt | String! | Creation timestamp |
AuthPayload
Authentication response.
| Field | Type | Description |
|---|---|---|
token | String! | JWT access token |
user | User! | Authenticated user |
CreatedApiKey
Result of creating an API key. The secret is only shown once.
| Field | Type | Description |
|---|---|---|
apiKey | ApiKey! | Key metadata |
secret | String! | Full API key (shown once) |
BulkLnkifyResult
Result for one item in a bulk create/update operation.
| Field | Type | Description |
|---|---|---|
index | Int! | Position in input array |
ok | Boolean! | Success flag |
lnkify | lnkify | Created/updated shortlink (null on failure) |
error | String | Error message on failure |
BulkDeleteResult
Result for one item in a bulk delete operation.
| Field | Type | Description |
|---|---|---|
index | Int! | Position in input array |
id | ID! | Shortlink ID |
ok | Boolean! | Success flag |
error | String | Error message on failure |
byCountryGraphItem
Hit count aggregated by country.
| Field | Type | Description |
|---|---|---|
country | country | Country info |
count | Int! | Number of hits |
byChannelItem
Hit count aggregated by channel/source.
| Field | Type | Description |
|---|---|---|
channel | String | Channel name (e.g. direct, social) |
count | Int! | Number of hits |
Subscription
A user's billing subscription.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
plan | Plan! | Current plan tier |
status | SubscriptionStatus! | Subscription status |
currentPeriodStart | String | Start of current billing period |
currentPeriodEnd | String | End of current billing period |
cancelAtPeriodEnd | Boolean! | Whether subscription cancels at period end |
anchorDay | Int! | Billing cycle anchor day |
UsageMeter
Current billing period usage summary.
| Field | Type | Description |
|---|---|---|
periodStart | String! | Start of current usage period |
periodEnd | String! | End of current usage period |
linksCreated | Int! | Links created this period |
refillLinks | Int! | Additional links purchased via auto-refill |
allowance | Int! | Maximum links allowed this period |
AutoRefillSetting
Auto-refill configuration for a subscription.
| Field | Type | Description |
|---|---|---|
enabled | Boolean! | Whether auto-refill is turned on |
thresholdPercent | Int! | Usage percentage that triggers auto-refill |
refillPackLinks | Int! | Number of links per auto-refill pack |
maxMonthlySpend | Int! | Maximum monthly spend cap in USD cents |
BillingPlan
A billing plan with pricing details.
| Field | Type | Description |
|---|---|---|
plan | Plan! | Plan identifier (FREE, STARTER, PRO) |
interval | String! | Billing interval (MONTHLY or ANNUAL) |
priceId | String | Stripe price ID |
displayPrice | String! | Human-readable price string, formatted by the server's pricing config |
displayPerMonth | String! | Human-readable per-month price string |
yearlyTotal | String | Human-readable yearly total for annual plans |
links | Int! | Links included per billing period |
description | String! | Plan description |
features | [String!]! | Array of feature strings |
CheckoutSessionResult
Result of creating a Stripe checkout session.
| Field | Type | Description |
|---|---|---|
url | String! | URL to redirect the user to Stripe Checkout |
PortalSessionResult
Result of creating a Stripe customer portal session.
| Field | Type | Description |
|---|---|---|
url | String! | URL to redirect the user to the customer portal |
LnkifyConnection
Paginated list of shortlinks with total count.
| Field | Type | Description |
|---|---|---|
items | [lnkify!]! | Array of shortlinks for the current page |
totalCount | Int! | Total number of matching shortlinks |
LnkifyAnalytics
Aggregate analytics across all links owned by a user.
| Field | Type | Description |
|---|---|---|
totalLinks | Int! | Total number of links |
trackedLinks | Int! | Number of links with tracking enabled |
totalClicks | Int! | Total number of clicks across all links |
topLinks | [LnkifyTopItem!]! | Top links by click count |
LnkifyTopItem
A top-performing shortlink in analytics results.
| Field | Type | Description |
|---|---|---|
id | ID! | Shortlink ID |
lnkify | String! | Short slug |
hostname | String | Domain hostname |
hitCount | Int! | Total clicks |
timezone
Timezone information from IP geolocation.
| Field | Type | Description |
|---|---|---|
name | String | Timezone name (e.g. America/New_York) |
offset | Int | UTC offset in seconds |
id | String | Timezone identifier |
abbreviation | String | Abbreviation (e.g. EST) |
location
Location information from IP geolocation.
| Field | Type | Description |
|---|---|---|
name | String | Location name |
city | String | City name |
postal | String | Postal/ZIP code |
country | country | Country info |
continent | continent | Continent info |
country
Country information from IP geolocation.
| Field | Type | Description |
|---|---|---|
name | String | Country name |
code | String | ISO 3166-1 alpha-2 code |
continent
Continent information from IP geolocation.
| Field | Type | Description |
|---|---|---|
name | String | Continent name |
code | String | Continent code |
browser
Browser information from user agent.
| Field | Type | Description |
|---|---|---|
name | String | Browser name |
version | String | Browser version |
os
Operating system information from user agent.
| Field | Type | Description |
|---|---|---|
name | String | OS name |
version | String | OS version |
Input Types
CreateLnkifyInput
Input for creating a shortlink in a bulk operation.
| Field | Type | Description |
|---|---|---|
target | String! | Destination URL (required) |
lnkify | String | Custom slug (auto-generated if omitted) |
title | String | Display title |
enableTracking | Boolean | Enable click tracking |
UpdateLnkifyInput
Input for updating a shortlink in a bulk operation.
| Field | Type | Description |
|---|---|---|
id | ID! | Shortlink ID (required) |
target | String | New destination URL |
title | String | New display title |
enableTracking | Boolean | Enable click tracking |
rules | [LinkRuleInput!] | Link routing rules |
LinkRule
A routing rule that redirects based on type and value (e.g., country, device).
| Field | Type | Description |
|---|---|---|
type | String! | Rule type (e.g. country, device) |
value | String! | Match value |
target | String! | Redirect target when rule matches |
LinkRuleInput
Input type for creating or updating link routing rules.
| Field | Type | Description |
|---|---|---|
type | String! | Rule type |
value | String! | Match value |
target | String! | Redirect target |
BioPage
A link-in-bio page containing an ordered list of bio links.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
slug | String! | URL slug for the bio page |
theme | String | Visual theme applied to the page |
title | String | Display title |
links | [BioLink!]! | List of bio links on this page |
createdAt | String! | ISO 8601 timestamp of page creation |
BioLink
A single link on a bio page.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
label | String | Display label for the link |
url | String! | Destination URL |
order | Int! | Sort order position on the bio page |
Webhook
An outgoing webhook endpoint that receives POST events.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
url | String! | Destination URL that receives POST events |
events | [String!]! | Array of event types (e.g. link.created, link.clicked, bio.viewed) |
enabled | Boolean! | Whether the webhook is active |
createdAt | String! | ISO 8601 timestamp of webhook creation |
WebhookDelivery
A single delivery attempt for a webhook event.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
event | String! | Event type that triggered the delivery |
status | Int! | HTTP status code returned by the endpoint |
response | String | Response body from the endpoint |
createdAt | String! | ISO 8601 timestamp of delivery |
Domain
A custom domain for branded shortlinks.
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier |
hostname | String! | The custom domain hostname |
verified | Boolean! | Whether DNS ownership has been verified |
verifiedAt | String | Timestamp of verification |
sslStatus | String | SSL certificate status |
txtToken | String! | DNS TXT verification token |
createdAt | String! | ISO 8601 timestamp of domain registration |