Skip to content

Concepts

Page content

Page codes host a mobile page at their short link. The content object on create and update sets what the page shows. Two fields work on every type: title (string, max 120) and accent (hex color like #7c3aed, the page's highlight color).

How normalization works#

The API normalizes content instead of rejecting it: unknown fields are dropped, over-length strings are truncated, URL fields accept http(s) only and store empty otherwise, and dates outside YYYY-MM-DD store empty. The request still succeeds, so open the hosted page (or GET the code) after your first integration test and check the result.

A link-in-bio page.

taglinestring, max 160
linksarray of { label (max 80), url }, max 50; rows missing either are dropped

A restaurant menu with sections and priced items.

currencystring, max 8, default $
sectionsarray of { name (max 80), items }, max 20; unnamed sections are dropped
sections[].itemsarray of { name (max 80), price (max 20), desc (max 160) }, max 50 per section

vcard#

A contact page with a downloadable .vcf.

firstName / lastNamestring, max 80 each
org / jobTitlestring, max 120 each
phonestring, max 40
emailstring, max 160
websiteURL
addressstring, max 200
notestring, max 500

video#

A YouTube or Vimeo embed page.

videoUrlURL (YouTube or Vimeo link)
descriptionstring, max 500

coupon#

A discount page with a tap-to-copy code.

codestring, max 40 (the redeem code)
discountstring, max 120 (headline, e.g. 20% off)
descriptionstring, max 500
validUntildate, YYYY-MM-DD; anything else is stored empty
ctaUrlURL (redeem online link)
ctaLabelstring, max 40, default Redeem online

apps#

An app-download page; scanners see their own store first.

iosUrlURL (App Store listing)
androidUrlURL (Google Play listing)
fallbackUrlURL (desktop fallback)
descriptionstring, max 500

event#

An event page with date, venue and an RSVP button.

descriptionstring, max 500
venuestring, max 120
addressstring, max 200
datedate, YYYY-MM-DD
time24h time, HH:MM
ctaUrlURL (RSVP or tickets)
ctaLabelstring, max 40, default RSVP

business#

A business page with hours, contact and directions.

taglinestring, max 160
descriptionstring, max 800
phonestring, max 40
emailstring, max 160
websiteURL
addressstring, max 200
hoursstring, max 400; one line per row, e.g. Mon-Fri 9-17

feedback#

A star-rating page; ratings land in your dashboard.

questionstring, max 200, default How was your experience?
thanksMessagestring, max 200, default Thanks for the feedback!

social#

One page linking every profile. Empty networks do not render.

taglinestring, max 160
instagram / facebook / x / tiktok / youtube / linkedin / whatsapp / websiteURL each

A photo grid. The API creates the shell; images upload in the dashboard.

descriptionstring, max 500
imagesread-only via API; upload photos in the dashboard editor