Brands
Import a site's theme
/v1/brands/{brandId}/import-themeRead a website's styling and return it as theme values. It picks up the button color, text and background colors, corner radius, and the font with its Google Fonts, Bunny or Adobe stylesheet. It uses no AI, so the same page gives the same theme. It always returns a complete, readable theme. When the page can't be fetched, because it is down, blocked or not a web page, you get the default theme and warnings says why.
Path parameters
brandIdstringrequiredThe brand's
id.
Body
JSON, with Content-Type: application/json.
urlstringrequiredThe public page to read, usually the brand's home page. Private and local addresses are refused with
400 import_failed.max 2000 chars · uri
applybooleanSet to true to also merge the result into the brand's theme. The backdrop is never changed. The default, false, only previews.
Response
themeobjectrequiredThe imported theme values.
Show 13 fieldsHide 13 fields
accentstringaccentTextstringbackgroundstringsurfacestringtextstringmutedstringborderstringradiusnumber0–48
buttonRadiusnumber0–48
fontstringheadingFontstringmax 500 chars
backdropstringfontStylesheetstringmax 2000 chars · uri
sourcesobjectrequiredWhere each value came from, by theme key. For example,
".btn-primary" background.warningsarray of stringrequiredWhich values fell back to a default. If the page couldn't be read, this says why.
notesarray of stringrequiredThings good to know that need no fixing, such as a self-hosted Google font.
brandobjectThe brand with the merged theme. Only present with
apply: true.Show 11 fieldsHide 11 fields
idstringrequiredThe brand's id.
namestringrequiredThe brand's name.
domainsarray of stringrequiredHostnames the brand's forms may be embedded on. Subdomains match too. An empty list means any site.
avatarUrlstring or nullrequiredThe brand's favicon, fetched in the background from its first public domain. It is fetched again when the first public domain changes. Null until there is one, so show initials instead.
themeobjectrequiredThe theme values the brand sets. The rest use the defaults.
Show 13 fieldsHide 13 fields
accentstringaccentTextstringbackgroundstringsurfacestringtextstringmutedstringborderstringradiusnumber0–48
buttonRadiusnumber0–48
fontstringheadingFontstringmax 500 chars
backdropstringfontStylesheetstringmax 2000 chars · uri
trackingobjectrequiredThe tracking settings in effect, which are the brand's values on top of the defaults.
Show 4 fieldsHide 4 fields
metaobjectrequiredShow 4 fieldsHide 4 fields
enabledbooleanrequiredpageViewbooleanrequiredcapibooleanrequiredpixelIdstring
ga4objectrequiredShow 2 fieldsHide 2 fields
enabledbooleanrequiredmeasurementIdstring
jornayaobjectrequiredShow 2 fieldsHide 2 fields
enabledbooleanrequiredcampaignKeystring
trustedFormobjectrequiredShow 1 fieldHide 1 field
enabledbooleanrequired
hasMetaCapiTokenbooleanrequiredWhether a Meta Conversions API token is saved. The token itself is never returned.
webhookCountintegerrequiredHow many webhooks the brand has, its own and its forms', counted up to 100.
GET /v1/webhookslists them.-9007199254740991–9007199254740991
starterbooleanrequiredTrue for a guest's starter brand, which has no website or name yet. False for every other brand.
createdAtnumberrequiredWhen the brand was made, in milliseconds since the epoch.
workspaceIdstringrequiredThe workspace the brand belongs to.
Errors answer with a status and the error shape.