curl --request GET \
--url https://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{productId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{productId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{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://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{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://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{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://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{productId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{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": "<string>",
"title": "<string>",
"model": "<string>",
"brand": "<string>",
"status": "Active",
"slug": "<string>",
"description": "<string>",
"descriptionV2": "<string>",
"isInStock": true,
"isDiscontinued": true,
"priceRange": {
"minVariantPrice": 123,
"maxVariantPrice": 123
},
"options": [
{
"name": "size",
"values": [
{
"title": "<string>",
"colorCode": "<string>",
"colorCode2": "<string>"
}
]
}
],
"isPersonalized": true,
"creationStatus": "Pending",
"featuredImage": {
"url": "<string>",
"lowResUrl": "<string>",
"width": 123,
"height": 123
},
"tags": [
{
"name": "<string>"
}
],
"variants": [
{
"id": "<string>",
"title": "<string>",
"price": 123,
"isAvailableForSale": true,
"options": [
{
"name": "size",
"value": {
"title": "<string>",
"colorCode": "<string>",
"colorCode2": "<string>"
}
}
],
"images": [
{
"url": "<string>",
"lowResUrl": "<string>",
"width": 123,
"height": 123
}
],
"retailPrice": 123
}
],
"shippingRegions": [
{
"countryName": "<string>",
"countryCode": "<string>",
"isBlacklisted": true,
"denyCheckout": true,
"provinces": [
{
"provinceName": "<string>",
"provinceCode": "<string>"
}
]
}
],
"hiddenAt": "2023-11-07T05:31:56Z",
"notes": "<string>",
"sizeChartTable": "<string>",
"retailPriceRange": {
"minVariantPrice": 123,
"maxVariantPrice": 123
},
"priceDeltaByCountry": {
"US": 2.5,
"CA": 3.5
},
"sizeChartImages": [
{
"url": "<string>",
"width": 123,
"height": 123
}
],
"errors": {
"hasLowResolutionElements": true,
"hasNonCmykElements": true,
"hasBaseProductIssue": true,
"hasNonBlackAndWhiteElements": true,
"isBlank": true,
"hasOldPrintAreas": true
},
"customFields": {}
}{
"message": "<string>",
"errorCode": "<string>",
"statusCode": 123,
"error": "<unknown>"
}{
"message": "<string>",
"errorCode": "<string>",
"statusCode": 123,
"error": "<unknown>"
}Get Product
Get a detailed product by ID
curl --request GET \
--url https://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{productId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{productId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{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://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{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://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{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://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{productId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging-api.covver.io/api/ext/v1/collection/{collectionId}/product/{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": "<string>",
"title": "<string>",
"model": "<string>",
"brand": "<string>",
"status": "Active",
"slug": "<string>",
"description": "<string>",
"descriptionV2": "<string>",
"isInStock": true,
"isDiscontinued": true,
"priceRange": {
"minVariantPrice": 123,
"maxVariantPrice": 123
},
"options": [
{
"name": "size",
"values": [
{
"title": "<string>",
"colorCode": "<string>",
"colorCode2": "<string>"
}
]
}
],
"isPersonalized": true,
"creationStatus": "Pending",
"featuredImage": {
"url": "<string>",
"lowResUrl": "<string>",
"width": 123,
"height": 123
},
"tags": [
{
"name": "<string>"
}
],
"variants": [
{
"id": "<string>",
"title": "<string>",
"price": 123,
"isAvailableForSale": true,
"options": [
{
"name": "size",
"value": {
"title": "<string>",
"colorCode": "<string>",
"colorCode2": "<string>"
}
}
],
"images": [
{
"url": "<string>",
"lowResUrl": "<string>",
"width": 123,
"height": 123
}
],
"retailPrice": 123
}
],
"shippingRegions": [
{
"countryName": "<string>",
"countryCode": "<string>",
"isBlacklisted": true,
"denyCheckout": true,
"provinces": [
{
"provinceName": "<string>",
"provinceCode": "<string>"
}
]
}
],
"hiddenAt": "2023-11-07T05:31:56Z",
"notes": "<string>",
"sizeChartTable": "<string>",
"retailPriceRange": {
"minVariantPrice": 123,
"maxVariantPrice": 123
},
"priceDeltaByCountry": {
"US": 2.5,
"CA": 3.5
},
"sizeChartImages": [
{
"url": "<string>",
"width": 123,
"height": 123
}
],
"errors": {
"hasLowResolutionElements": true,
"hasNonCmykElements": true,
"hasBaseProductIssue": true,
"hasNonBlackAndWhiteElements": true,
"isBlank": true,
"hasOldPrintAreas": true
},
"customFields": {}
}{
"message": "<string>",
"errorCode": "<string>",
"statusCode": 123,
"error": "<unknown>"
}{
"message": "<string>",
"errorCode": "<string>",
"statusCode": 123,
"error": "<unknown>"
}International pricing
NOTE! Some products have apriceDeltaByCountry field that will affect the price of the product when shipped internationally.
If you pass countryCode when getting the product you will get the price after applying the delta. If you don’t pass countryCode you should apply the delta yourself based on the recipient’s address
Localization (optional)
Use the accept-language header to get translated strings. Supported locales:- en-US (default locale)
- fr-FR
- fr-CA
- es-ES
- es-MX
- en-AU
- en-GB
Examples:
- Accept-Language: *
- Accept-Language: fr
- Accept-Language: fr-FR
- Accept-Language: fr-FR, fr;q=0.9, en;q=0.8, *;q=0.5
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Query Parameters
First name
Last name
Work department (e.g. sales)
Work location (site/city/country)
Start date in ISO format
Birth date in ISO format
Response
Default Response
Active, Draft Description with HTML tags and optional size chart table/image embedded
Description without HTML tags
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Pending, Done, Error Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
ISO 8601 date-time, e.g. 2025-07-10T07:24:53.486Z
Optional size chart table in HTML format. Use either this column or size chart images - if any of them is available
Show child attributes
Show child attributes
Show child attributes
Show child attributes
{ "US": 2.5, "CA": 3.5 }
Optional size chart images. Use either this column or the size chart table - if any of them is available
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

