curl --request GET \
--url https://api.marzipan.co/v1/products/{productId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.marzipan.co/v1/products/{productId}"
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/products/{productId}', 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/products/{productId}",
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/products/{productId}"
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/products/{productId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.marzipan.co/v1/products/{productId}")
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{
"id": "2e2805a1-738e-4118-8a8b-f9431f0e210c",
"name": "Signature Selection",
"slug": "signature-selection",
"url": "https://api.marzipan.co/products/signature-selection",
"description": "Id laboris ad aliqua exercitation dolore. Ad, aliqua exercitation dolore est culpa. Dolore est culpa, nostrud. Nostrud ad sed mollit, fugiat. Mollit fugiat, irure adipiscing ipsum id. Adipiscing ipsum id ea cillum deserunt, ipsum lorem.",
"productType": "physical",
"sku": "CSMALBC2015",
"collections": [
{
"id": "885ea507-690b-4598-a8fc-095c0528be24",
"name": "Store",
"slug": "store",
"description": "Store collection"
}
],
"status": "active",
"images": {
"product": [
{
"id": "0736c529-a33d-4b8c-8126-eb69779dcdad",
"path": "1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg",
"src": "https://marzipan-cloud-dev.b-cdn.net/1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg",
"alt": "Signature Selection product photo",
"mimeType": "image/jpeg",
"filename": "0736c529-a33d-4b8c-8126-eb69779dcdad.jpg"
}
],
"labels": {
"front": [],
"back": []
}
},
"primaryImage": {
"id": "0736c529-a33d-4b8c-8126-eb69779dcdad",
"path": "1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg",
"src": "https://marzipan-cloud-dev.b-cdn.net/1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg",
"alt": "Signature Selection product photo",
"mimeType": "image/jpeg",
"filename": "0736c529-a33d-4b8c-8126-eb69779dcdad.jpg"
},
"price": "£24.99",
"salePrice": null,
"subscriberPrice": null,
"createdAt": "2024-02-05T23:22:56.000000Z",
"updatedAt": "2024-02-05T23:22:56.000000Z",
"storeSlug": "store",
"subscriptionsSlug": null,
"availability": "all",
"upsellProducts": [],
"attributes": [],
"options": [],
"relatedProducts": [],
"awards": [],
"reviews": [],
"metaTitle": "Signature Selection",
"metaDescription": "Cupidatat quis reprehenderit, exercitation quis cillum nulla do.",
"metaImage": null,
"storeName": "Example Store"
}{
"message": "string"
}Product
Retrieve detailed information about a specific product by its unique identifier.
curl --request GET \
--url https://api.marzipan.co/v1/products/{productId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.marzipan.co/v1/products/{productId}"
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/products/{productId}', 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/products/{productId}",
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/products/{productId}"
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/products/{productId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.marzipan.co/v1/products/{productId}")
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{
"id": "2e2805a1-738e-4118-8a8b-f9431f0e210c",
"name": "Signature Selection",
"slug": "signature-selection",
"url": "https://api.marzipan.co/products/signature-selection",
"description": "Id laboris ad aliqua exercitation dolore. Ad, aliqua exercitation dolore est culpa. Dolore est culpa, nostrud. Nostrud ad sed mollit, fugiat. Mollit fugiat, irure adipiscing ipsum id. Adipiscing ipsum id ea cillum deserunt, ipsum lorem.",
"productType": "physical",
"sku": "CSMALBC2015",
"collections": [
{
"id": "885ea507-690b-4598-a8fc-095c0528be24",
"name": "Store",
"slug": "store",
"description": "Store collection"
}
],
"status": "active",
"images": {
"product": [
{
"id": "0736c529-a33d-4b8c-8126-eb69779dcdad",
"path": "1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg",
"src": "https://marzipan-cloud-dev.b-cdn.net/1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg",
"alt": "Signature Selection product photo",
"mimeType": "image/jpeg",
"filename": "0736c529-a33d-4b8c-8126-eb69779dcdad.jpg"
}
],
"labels": {
"front": [],
"back": []
}
},
"primaryImage": {
"id": "0736c529-a33d-4b8c-8126-eb69779dcdad",
"path": "1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg",
"src": "https://marzipan-cloud-dev.b-cdn.net/1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg",
"alt": "Signature Selection product photo",
"mimeType": "image/jpeg",
"filename": "0736c529-a33d-4b8c-8126-eb69779dcdad.jpg"
},
"price": "£24.99",
"salePrice": null,
"subscriberPrice": null,
"createdAt": "2024-02-05T23:22:56.000000Z",
"updatedAt": "2024-02-05T23:22:56.000000Z",
"storeSlug": "store",
"subscriptionsSlug": null,
"availability": "all",
"upsellProducts": [],
"attributes": [],
"options": [],
"relatedProducts": [],
"awards": [],
"reviews": [],
"metaTitle": "Signature Selection",
"metaDescription": "Cupidatat quis reprehenderit, exercitation quis cillum nulla do.",
"metaImage": null,
"storeName": "Example Store"
}{
"message": "string"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your API token.
Path Parameters
The unique identifier for the product
Query Parameters
Comma-separated list of related resources to include in the response. Available options: linkedSubscriptions (includes full subscription details for products with linked subscriptions).
linkedSubscriptions Response
Product details
Unique identifier for the product
Product name
URL-friendly product identifier
Full URL to the product page
Product description
Type of product
physical, event, subscription, bundle Type of subscription. Only present for subscription products
picknmix, variable Stock Keeping Unit
Collections this product belongs to
Show child attributes
Show child attributes
Product status - automatically set to out_of_stock when quantity is 0
active, inactive, out_of_stock Product images organised by type
Show child attributes
Show child attributes
Primary product image
Show child attributes
Show child attributes
Formatted price (e.g., £10.00). For pick-and-mix subscriptions with per-item pricing, may show 'from £X.XX'
Formatted sale price if on sale
Special price for subscribers. Not shown for subscription products
Creation timestamp
Last update timestamp
Store URL slug
Subscriptions URL slug
Product availability
all, subscribers Upsell products with simplified data
Show child attributes
Show child attributes
Full details of linked subscriptions. Only included when requested via the include query parameter.
Show child attributes
Show child attributes
Billing frequency in months. Only present for subscription products
Available billing frequencies. Only present for subscription products
Pricing type for subscriptions. Only present for subscription products
fixed, per_item Items included in bundle. Only present for bundle products
Product attributes like colour, size, etc.
Product options with their possible values
Related products
Product awards
Product reviews
SEO meta title
SEO meta description
SEO meta image URL (1200x630)
Whether product has linked subscriptions. Only present if product has linked subscriptions
Store name

