Branding
Themes and confirmed brand (read-only design truth).
apiKeyAuthorizationBearer <token>A Formtoro API key minted in Settings → Connections. A key carries one
or more scopes; an endpoint refuses a key that lacks its required scope
with 403 insufficient_scope. Scopes:
analytics:read— all aggregate read endpoints.customers:read— customer-level lifetime value.forms:write— create and edit forms (drafts). Grantable only by a member who holds the Form-editing permission.forms:publish— save versions and turn forms on or off on the live storefront. Grantable only by a member who holds the Form-publishing permission.discounts:read— read discount definitions. Grantable only by a member who holds the Discounts-view permission.
The shop's themes (built-in + custom).
application/json- response
data*array<>Endpoint-specific payload.
meta*curl -X GET 'https://public-api.formtoro.com/v1/themes'{ "meta": { "requestId": "string", "shopId": "string", "credentialId": "string", "range": { "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z" } }, "data": [ { "id": "string", "name": "string", "builtIn": true, "sourceThemeId": "string" } ]}apiKeyAuthorizationBearer <token>A Formtoro API key minted in Settings → Connections. A key carries one
or more scopes; an endpoint refuses a key that lacks its required scope
with 403 insufficient_scope. Scopes:
analytics:read— all aggregate read endpoints.customers:read— customer-level lifetime value.forms:write— create and edit forms (drafts). Grantable only by a member who holds the Form-editing permission.forms:publish— save versions and turn forms on or off on the live storefront. Grantable only by a member who holds the Form-publishing permission.discounts:read— read discount definitions. Grantable only by a member who holds the Discounts-view permission.
id*stringA built-in theme id (default/dark) or a custom shop theme's UUID. A non-existent / foreign id resolves to 404.
The resolved theme.
application/json- response
data*A theme's full detail — design tokens, the element-category → class map, and the baked style classes.
meta*curl -X GET 'https://public-api.formtoro.com/v1/themes/string'{ "meta": { "requestId": "string", "shopId": "string", "credentialId": "string", "range": { "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z" } }, "data": { "id": "string", "name": "string", "builtIn": true, "tokens": { "property1": "string", "property2": "string" }, "classMap": { "property1": "string", "property2": "string" }, "classes": { "property1": {}, "property2": {} }, "formBackground": "string" }}apiKeyAuthorizationBearer <token>A Formtoro API key minted in Settings → Connections. A key carries one
or more scopes; an endpoint refuses a key that lacks its required scope
with 403 insufficient_scope. Scopes:
analytics:read— all aggregate read endpoints.customers:read— customer-level lifetime value.forms:write— create and edit forms (drafts). Grantable only by a member who holds the Form-editing permission.forms:publish— save versions and turn forms on or off on the live storefront. Grantable only by a member who holds the Form-publishing permission.discounts:read— read discount definitions. Grantable only by a member who holds the Discounts-view permission.
The confirmed brand, or null when unset.
application/json- response
data*|meta*curl -X GET 'https://public-api.formtoro.com/v1/branding'{ "meta": { "requestId": "string", "shopId": "string", "credentialId": "string", "range": { "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z" } }, "data": { "shopName": "string", "logoUrl": "string", "primaryColor": "string", "secondaryColor": "string", "backgroundColor": "string", "textColor": "string", "headingFont": "string", "bodyFont": "string", "cornerRadius": "string", "customBrandColors": [ { "name": "string", "hex": "string" } ] }}