curl --request GET \
--url https://api.marzipan.co/v1/settings/components \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.marzipan.co/v1/settings/components"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.marzipan.co/v1/settings/components', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.marzipan.co/v1/settings/components",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.marzipan.co/v1/settings/components"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.marzipan.co/v1/settings/components")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.marzipan.co/v1/settings/components")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"cssVariables": {
"--mz-primary-color": "#111827",
"--mz-radius": "0.5rem"
},
"layout": {
"collectionColumnsMobile": 2,
"collectionColumnsTablet": 3,
"collectionColumnsDesktop": 4,
"logoPosition": "left",
"logoHeight": "3rem",
"productCardStyle": "minimal",
"productCardAlignment": "center",
"productImageRadius": "0.5rem"
},
"labels": {
"subscriberPriceLabel": "Subscriber price",
"saleBadgeText": "Sale",
"subscriberBadgeText": null,
"addToCartText": "Add to cart",
"bundleText": null,
"waitlistText": null,
"salesClosedText": "Tickets no longer available",
"showMoreText": null,
"backInStockText": "Notify me when available"
},
"collection": {
"columnsMobile": 2,
"columnsTablet": 3,
"columnsDesktop": 4,
"productCardStyle": "minimal",
"productCardAlignment": "center",
"productImageRadius": "0.5rem",
"showQuantity": false,
"showMoreLink": null,
"showDescription": null,
"showSubscriberPricing": null,
"redirectToCart": false
},
"product": {
"backInStockEnabled": true,
"showSubscriberPricing": null,
"showQuantity": null,
"redirectToCart": false
},
"checkout": {
"logoPosition": "left",
"logoHeight": "3rem",
"phoneRequired": false,
"referralSources": {
"enabled": true,
"allowOther": true,
"options": [
{
"label": "Instagram",
"followUp": null
},
{
"label": "Friend",
"followUp": "Who referred you?"
}
]
}
},
"cart": {
"relatedProductsEnabled": true,
"relatedProductsCount": 4,
"relatedProductsTitle": "You may also like",
"freeShippingNotificationEnabled": true,
"freeShippingMessages": {
"qualified": "You've unlocked free shipping!"
},
"freeShippingThresholds": {
"9b1c2d3e-4f5a-6b7c-8d9e-0a1b2c3d4e5f": 5000
},
"backgroundEnabled": false,
"backgroundColor": "#ffffff",
"borderEnabled": false,
"borderColor": "#e5e7eb"
},
"productDisplay": {
"quickAttributes": {
"enabled": true,
"maxCount": 4,
"maxLength": 30,
"attributeNames": [
"Weight",
"Origin"
]
},
"accordion": {
"enabled": true,
"sections": [
{
"id": "ingredients",
"title": "Ingredients",
"type": "attribute",
"enabled": true,
"attributeNames": [],
"attributeName": "ingredients",
"textContent": null,
"defaultOpen": false
}
]
},
"sections": [
{
"id": "reviews",
"enabled": true
},
{
"id": "awards",
"enabled": true
},
{
"id": "press",
"enabled": true
}
],
"thumbnailPosition": "side",
"showImageOverlay": true,
"billingFrequencyStyle": "worded",
"events": {
"defaultView": "list",
"occurrenceCount": 14
}
},
"account": {
"subscriptionUpsell": {
"enabled": false,
"collectionId": null,
"heading": null,
"message": null,
"columns": {
"mobile": 1,
"tablet": 2,
"desktop": 3
}
}
},
"tracking": {
"fathomSiteId": "ABCDEFGH"
}
}Web component settings
Retrieve the web-components display settings for the storefront, grouped into layout, labels, collection, product, checkout, cart, product display, account and tracking option groups.
curl --request GET \
--url https://api.marzipan.co/v1/settings/components \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.marzipan.co/v1/settings/components"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.marzipan.co/v1/settings/components', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.marzipan.co/v1/settings/components",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.marzipan.co/v1/settings/components"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.marzipan.co/v1/settings/components")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.marzipan.co/v1/settings/components")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"cssVariables": {
"--mz-primary-color": "#111827",
"--mz-radius": "0.5rem"
},
"layout": {
"collectionColumnsMobile": 2,
"collectionColumnsTablet": 3,
"collectionColumnsDesktop": 4,
"logoPosition": "left",
"logoHeight": "3rem",
"productCardStyle": "minimal",
"productCardAlignment": "center",
"productImageRadius": "0.5rem"
},
"labels": {
"subscriberPriceLabel": "Subscriber price",
"saleBadgeText": "Sale",
"subscriberBadgeText": null,
"addToCartText": "Add to cart",
"bundleText": null,
"waitlistText": null,
"salesClosedText": "Tickets no longer available",
"showMoreText": null,
"backInStockText": "Notify me when available"
},
"collection": {
"columnsMobile": 2,
"columnsTablet": 3,
"columnsDesktop": 4,
"productCardStyle": "minimal",
"productCardAlignment": "center",
"productImageRadius": "0.5rem",
"showQuantity": false,
"showMoreLink": null,
"showDescription": null,
"showSubscriberPricing": null,
"redirectToCart": false
},
"product": {
"backInStockEnabled": true,
"showSubscriberPricing": null,
"showQuantity": null,
"redirectToCart": false
},
"checkout": {
"logoPosition": "left",
"logoHeight": "3rem",
"phoneRequired": false,
"referralSources": {
"enabled": true,
"allowOther": true,
"options": [
{
"label": "Instagram",
"followUp": null
},
{
"label": "Friend",
"followUp": "Who referred you?"
}
]
}
},
"cart": {
"relatedProductsEnabled": true,
"relatedProductsCount": 4,
"relatedProductsTitle": "You may also like",
"freeShippingNotificationEnabled": true,
"freeShippingMessages": {
"qualified": "You've unlocked free shipping!"
},
"freeShippingThresholds": {
"9b1c2d3e-4f5a-6b7c-8d9e-0a1b2c3d4e5f": 5000
},
"backgroundEnabled": false,
"backgroundColor": "#ffffff",
"borderEnabled": false,
"borderColor": "#e5e7eb"
},
"productDisplay": {
"quickAttributes": {
"enabled": true,
"maxCount": 4,
"maxLength": 30,
"attributeNames": [
"Weight",
"Origin"
]
},
"accordion": {
"enabled": true,
"sections": [
{
"id": "ingredients",
"title": "Ingredients",
"type": "attribute",
"enabled": true,
"attributeNames": [],
"attributeName": "ingredients",
"textContent": null,
"defaultOpen": false
}
]
},
"sections": [
{
"id": "reviews",
"enabled": true
},
{
"id": "awards",
"enabled": true
},
{
"id": "press",
"enabled": true
}
],
"thumbnailPosition": "side",
"showImageOverlay": true,
"billingFrequencyStyle": "worded",
"events": {
"defaultView": "list",
"occurrenceCount": 14
}
},
"account": {
"subscriptionUpsell": {
"enabled": false,
"collectionId": null,
"heading": null,
"message": null,
"columns": {
"mobile": 1,
"tablet": 2,
"desktop": 3
}
}
},
"tracking": {
"fathomSiteId": "ABCDEFGH"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your API token.
Response
Success
Web-component display settings for the tenant's storefront, grouped by area. Nested option groups control styling and behaviour of the embeddable components.
CSS custom properties applied to the web components (colours, radii, fonts, etc.).
Show child attributes
Show child attributes
Legacy layout options, retained for backward compatibility.
Show child attributes
Show child attributes
Shared, site-wide display label strings.
Show child attributes
Show child attributes
Collection component layout and behaviour.
Show child attributes
Show child attributes
Product component behaviour.
Show child attributes
Show child attributes
Checkout component options.
Show child attributes
Show child attributes
Cart component options, including related products and free-shipping notifications.
Show child attributes
Show child attributes
Product detail display configuration (quick attributes, accordion sections, events).
Show child attributes
Show child attributes
Customer account area options.
Show child attributes
Show child attributes
Show child attributes
Show child attributes

