Get a product by slug
curl --request GET \
--url https://storefront-api.fourthwall.com/v1/products/{slug}import requests
url = "https://storefront-api.fourthwall.com/v1/products/{slug}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://storefront-api.fourthwall.com/v1/products/{slug}', 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://storefront-api.fourthwall.com/v1/products/{slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://storefront-api.fourthwall.com/v1/products/{slug}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://storefront-api.fourthwall.com/v1/products/{slug}")
.asString();require 'uri'
require 'net/http'
url = URI("https://storefront-api.fourthwall.com/v1/products/{slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"state": {
"type": "AVAILABLE"
},
"access": {
"type": "ARCHIVED"
},
"images": [
{
"id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
"url": "https://fourthwall.com/image.png",
"width": 800,
"height": 600,
"transformedUrl": "https://fourthwall.com/image.png"
}
],
"variants": [
{
"id": "<string>",
"name": "<string>",
"sku": "<string>",
"unitPrice": {
"value": 10,
"currency": "USD"
},
"attributes": {
"description": "Black, L",
"color": {
"name": "Black",
"swatch": "#000000"
},
"size": {
"name": "L"
}
},
"stock": {
"type": "LIMITED",
"inStock": 5
},
"weight": {
"value": 1,
"unit": "kg"
},
"dimensions": {
"length": 1,
"width": 2,
"height": 3,
"unit": "cm"
},
"images": [
{
"id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
"url": "https://fourthwall.com/image.png",
"width": 800,
"height": 600,
"transformedUrl": "https://fourthwall.com/image.png"
}
],
"compareAtPrice": {
"value": 10,
"currency": "USD"
}
}
],
"createdAt": "2020-08-13T09:05:36.939Z",
"updatedAt": "2020-08-13T09:05:36.939Z",
"type": "BUNDLE",
"price": {
"value": 10,
"currency": "USD"
},
"pricingStrategy": {
"type": "DISCOUNT_BASED",
"discountPercentage": 30
},
"offers": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"state": {
"type": "AVAILABLE"
},
"access": {
"type": "ARCHIVED"
},
"images": [
{
"id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
"url": "https://fourthwall.com/image.png",
"width": 800,
"height": 600,
"transformedUrl": "https://fourthwall.com/image.png"
}
],
"variants": [
{
"id": "<string>",
"name": "<string>",
"sku": "<string>",
"unitPrice": {
"value": 10,
"currency": "USD"
},
"attributes": {
"description": "Black, L",
"color": {
"name": "Black",
"swatch": "#000000"
},
"size": {
"name": "L"
}
},
"stock": {
"type": "LIMITED",
"inStock": 5
},
"weight": {
"value": 1,
"unit": "kg"
},
"dimensions": {
"length": 1,
"width": 2,
"height": 3,
"unit": "cm"
},
"images": [
{
"id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
"url": "https://fourthwall.com/image.png",
"width": 800,
"height": 600,
"transformedUrl": "https://fourthwall.com/image.png"
}
],
"compareAtPrice": {
"value": 10,
"currency": "USD"
}
}
],
"createdAt": "2020-08-13T09:05:36.939Z",
"updatedAt": "2020-08-13T09:05:36.939Z",
"type": "PRODUCT",
"additionalInformation": [
{
"type": "MORE_DETAILS",
"title": "<string>",
"bodyHtml": "<string>"
}
],
"sizeGuide": {
"fitGuideUrls": [
"<string>"
],
"previewUrl": "<string>",
"fileUrl": "<string>",
"description": "<string>",
"fitGuideDescription": "<string>"
}
}
],
"additionalInformation": [
{
"type": "MORE_DETAILS",
"title": "<string>",
"bodyHtml": "<string>"
}
],
"sizeGuide": {
"fitGuideUrls": [
"<string>"
],
"previewUrl": "<string>",
"fileUrl": "<string>",
"description": "<string>",
"fitGuideDescription": "<string>"
},
"compareAtPrice": {
"value": 10,
"currency": "USD"
}
}Products
Get Product by Slug
GET
/
v1
/
products
/
{slug}
Get a product by slug
curl --request GET \
--url https://storefront-api.fourthwall.com/v1/products/{slug}import requests
url = "https://storefront-api.fourthwall.com/v1/products/{slug}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://storefront-api.fourthwall.com/v1/products/{slug}', 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://storefront-api.fourthwall.com/v1/products/{slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://storefront-api.fourthwall.com/v1/products/{slug}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://storefront-api.fourthwall.com/v1/products/{slug}")
.asString();require 'uri'
require 'net/http'
url = URI("https://storefront-api.fourthwall.com/v1/products/{slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"state": {
"type": "AVAILABLE"
},
"access": {
"type": "ARCHIVED"
},
"images": [
{
"id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
"url": "https://fourthwall.com/image.png",
"width": 800,
"height": 600,
"transformedUrl": "https://fourthwall.com/image.png"
}
],
"variants": [
{
"id": "<string>",
"name": "<string>",
"sku": "<string>",
"unitPrice": {
"value": 10,
"currency": "USD"
},
"attributes": {
"description": "Black, L",
"color": {
"name": "Black",
"swatch": "#000000"
},
"size": {
"name": "L"
}
},
"stock": {
"type": "LIMITED",
"inStock": 5
},
"weight": {
"value": 1,
"unit": "kg"
},
"dimensions": {
"length": 1,
"width": 2,
"height": 3,
"unit": "cm"
},
"images": [
{
"id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
"url": "https://fourthwall.com/image.png",
"width": 800,
"height": 600,
"transformedUrl": "https://fourthwall.com/image.png"
}
],
"compareAtPrice": {
"value": 10,
"currency": "USD"
}
}
],
"createdAt": "2020-08-13T09:05:36.939Z",
"updatedAt": "2020-08-13T09:05:36.939Z",
"type": "BUNDLE",
"price": {
"value": 10,
"currency": "USD"
},
"pricingStrategy": {
"type": "DISCOUNT_BASED",
"discountPercentage": 30
},
"offers": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"state": {
"type": "AVAILABLE"
},
"access": {
"type": "ARCHIVED"
},
"images": [
{
"id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
"url": "https://fourthwall.com/image.png",
"width": 800,
"height": 600,
"transformedUrl": "https://fourthwall.com/image.png"
}
],
"variants": [
{
"id": "<string>",
"name": "<string>",
"sku": "<string>",
"unitPrice": {
"value": 10,
"currency": "USD"
},
"attributes": {
"description": "Black, L",
"color": {
"name": "Black",
"swatch": "#000000"
},
"size": {
"name": "L"
}
},
"stock": {
"type": "LIMITED",
"inStock": 5
},
"weight": {
"value": 1,
"unit": "kg"
},
"dimensions": {
"length": 1,
"width": 2,
"height": 3,
"unit": "cm"
},
"images": [
{
"id": "00aa4abd-5778-4199-8161-0b49b2f212e5",
"url": "https://fourthwall.com/image.png",
"width": 800,
"height": 600,
"transformedUrl": "https://fourthwall.com/image.png"
}
],
"compareAtPrice": {
"value": 10,
"currency": "USD"
}
}
],
"createdAt": "2020-08-13T09:05:36.939Z",
"updatedAt": "2020-08-13T09:05:36.939Z",
"type": "PRODUCT",
"additionalInformation": [
{
"type": "MORE_DETAILS",
"title": "<string>",
"bodyHtml": "<string>"
}
],
"sizeGuide": {
"fitGuideUrls": [
"<string>"
],
"previewUrl": "<string>",
"fileUrl": "<string>",
"description": "<string>",
"fitGuideDescription": "<string>"
}
}
],
"additionalInformation": [
{
"type": "MORE_DETAILS",
"title": "<string>",
"bodyHtml": "<string>"
}
],
"sizeGuide": {
"fitGuideUrls": [
"<string>"
],
"previewUrl": "<string>",
"fileUrl": "<string>",
"description": "<string>",
"fitGuideDescription": "<string>"
},
"compareAtPrice": {
"value": 10,
"currency": "USD"
}
}Path Parameters
Query Parameters
Example:
"ptkn_xxxxxxxxxxxxxxxxxx"
Available options:
USD, EUR, CAD, GBP, AUD, NZD, SEK, NOK, DKK, PLN, INR, JPY, MYR, SGD, MXN, BRL, CHF Response
OK
- Bundle
- Bundle
- Product
- Available
- Available
- Sold Out
- Available
- Available
- Sold Out
- Available
- Available
- Sold Out
Show child attributes
Show child attributes
- Archived
- Archived
- Archived
- Archived
- Hidden
- Private
- Public
- Archived
- Archived
- Archived
- Archived
- Hidden
- Private
- Public
- Archived
- Archived
- Archived
- Archived
- Hidden
- Private
- Public
- Archived
- Archived
- Archived
- Archived
- Hidden
- Private
- Public
- Archived
- Archived
- Archived
- Archived
- Hidden
- Private
- Public
- Archived
- Archived
- Archived
- Archived
- Hidden
- Private
- Public
- Archived
- Archived
- Archived
- Archived
- Hidden
- Private
- Public
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Example:
"2020-08-13T09:05:36.939Z"
Example:
"2020-08-13T09:05:36.939Z"
Discriminator, always BUNDLE for a bundle.
Allowed value:
"BUNDLE"Price of the whole bundle for the cheapest selection of variants.
Show child attributes
Show child attributes
The sum of the product prices reduced by discountPercentage.
- Discount Based
- Discount Based
- Discount Based
- Fixed Price
- Same As Individual
Show child attributes
Show child attributes
Offers (products) the bundle consists of, in bundle order. One variant of each must be selected to buy the bundle.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Sum of the individual product prices, shown as a strikethrough price. Null when the creator disabled it or the bundle is not discounted.
Show child attributes
Show child attributes