/
Contents
CatalogCatalog API · v1
Structures
The codes a product can use. They are managed in Nucleo and read-only here; an unknown code in a write is an error that names it.
Base URL, authentication and conventions of this API are on the Catalog API page.
get
/categoriesList categories
GET https://api-catalog.nucleoplatform.com/api/catalog/v1/categories
Authentication: Bearer token
Rate limit: 600 requests per 1m, per key (default; the catalog owner can set 1–6,000)
Responses
200All categories, flat, with their path.application/json
dataarray of objectrequiredAttributes of each item
idintegerrequiredparent_idinteger | nullrequirednamestringrequiredslugstringrequiredpathstringrequiredExample:Clothing > Topsstatusstringrequiredpositionintegerrequired
curl -X GET https://api-catalog.nucleoplatform.com/api/catalog/v1/categories \
-H "Authorization: Bearer $NUCLEO_ACCESS_TOKEN" \
-H 'Accept: application/json'const res = await fetch("https://api-catalog.nucleoplatform.com/api/catalog/v1/categories", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.NUCLEO_ACCESS_TOKEN}`,
Accept: "application/json",
},
});
const data = await res.json();
console.log(res.status, data);<?php
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://api-catalog.nucleoplatform.com/api/catalog/v1/categories', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('NUCLEO_ACCESS_TOKEN'),
'Accept' => 'application/json',
],
'http_errors' => false,
]);
echo $response->getStatusCode(), PHP_EOL;
echo $response->getBody();{
"data": [
{
"id": 1,
"parent_id": 1,
"name": "string",
"slug": "string",
"path": "Clothing > Tops",
"status": "string",
"position": 1
}
]
}get
/attributesList attributes and their allowed values
GET https://api-catalog.nucleoplatform.com/api/catalog/v1/attributes
Authentication: Bearer token
Rate limit: 600 requests per 1m, per key (default; the catalog owner can set 1–6,000)
Responses
200The product attributes of the catalog.application/json
dataarray of objectrequiredAttributes of each item
codestringrequiredExample:colornamestringrequiredtypestringrequiredFor example
text,number,boolean,date,dropdown,multiselect.scopestringrequiredproductorvariant.requiredbooleanrequiredvariant_optionbooleanrequiredThe attribute tells variants apart (size, color…).
optionsarray of objectrequiredAllowed values of attributes with options (active ones), with their labels by locale.
Attributes of each item
codestringExample:redlabelsobject
curl -X GET https://api-catalog.nucleoplatform.com/api/catalog/v1/attributes \
-H "Authorization: Bearer $NUCLEO_ACCESS_TOKEN" \
-H 'Accept: application/json'const res = await fetch("https://api-catalog.nucleoplatform.com/api/catalog/v1/attributes", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.NUCLEO_ACCESS_TOKEN}`,
Accept: "application/json",
},
});
const data = await res.json();
console.log(res.status, data);<?php
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://api-catalog.nucleoplatform.com/api/catalog/v1/attributes', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('NUCLEO_ACCESS_TOKEN'),
'Accept' => 'application/json',
],
'http_errors' => false,
]);
echo $response->getStatusCode(), PHP_EOL;
echo $response->getBody();{
"data": [
{
"code": "color",
"name": "string",
"type": "string",
"scope": "string",
"required": true,
"variant_option": true,
"options": [
{
"code": "red",
"labels": {
"en": "Red",
"it": "Rosso"
}
}
]
}
]
}get
/localesList locales
GET https://api-catalog.nucleoplatform.com/api/catalog/v1/locales
Authentication: Bearer token
Rate limit: 600 requests per 1m, per key (default; the catalog owner can set 1–6,000)
Responses
200The languages of the catalog.application/json
dataarray of objectrequiredAttributes of each item
codestringExample:itnamestringExample:Italianodefaultboolean
curl -X GET https://api-catalog.nucleoplatform.com/api/catalog/v1/locales \
-H "Authorization: Bearer $NUCLEO_ACCESS_TOKEN" \
-H 'Accept: application/json'const res = await fetch("https://api-catalog.nucleoplatform.com/api/catalog/v1/locales", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.NUCLEO_ACCESS_TOKEN}`,
Accept: "application/json",
},
});
const data = await res.json();
console.log(res.status, data);<?php
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://api-catalog.nucleoplatform.com/api/catalog/v1/locales', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('NUCLEO_ACCESS_TOKEN'),
'Accept' => 'application/json',
],
'http_errors' => false,
]);
echo $response->getStatusCode(), PHP_EOL;
echo $response->getBody();{
"data": [
{
"code": "it",
"name": "Italiano",
"default": true
}
]
}get
/marketsList markets
GET https://api-catalog.nucleoplatform.com/api/catalog/v1/markets
Authentication: Bearer token
Rate limit: 600 requests per 1m, per key (default; the catalog owner can set 1–6,000)
Responses
200The markets of the catalog.application/json
dataarray of objectrequiredAttributes of each item
idintegernamestringcurrencystring | nulldefault_localestring | nulladditional_localesarray of stringcountriesarray of stringISO 3166-1 alpha-2.
price_listsarray of stringactivebooleandefaultboolean
curl -X GET https://api-catalog.nucleoplatform.com/api/catalog/v1/markets \
-H "Authorization: Bearer $NUCLEO_ACCESS_TOKEN" \
-H 'Accept: application/json'const res = await fetch("https://api-catalog.nucleoplatform.com/api/catalog/v1/markets", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.NUCLEO_ACCESS_TOKEN}`,
Accept: "application/json",
},
});
const data = await res.json();
console.log(res.status, data);<?php
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://api-catalog.nucleoplatform.com/api/catalog/v1/markets', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('NUCLEO_ACCESS_TOKEN'),
'Accept' => 'application/json',
],
'http_errors' => false,
]);
echo $response->getStatusCode(), PHP_EOL;
echo $response->getBody();{
"data": [
{
"id": 1,
"name": "string",
"currency": "string",
"default_locale": "string",
"additional_locales": [
"string"
],
"countries": [
"string"
],
"price_lists": [
"string"
],
"active": true,
"default": true
}
]
}get
/price-listsList price lists
GET https://api-catalog.nucleoplatform.com/api/catalog/v1/price-lists
Authentication: Bearer token
Rate limit: 600 requests per 1m, per key (default; the catalog owner can set 1–6,000)
Responses
200The price lists of the catalog.application/json
dataarray of objectrequiredAttributes of each item
codestringExample:eunamestringcurrencystring | nullExample:EURactivebooleandefaultboolean
curl -X GET https://api-catalog.nucleoplatform.com/api/catalog/v1/price-lists \
-H "Authorization: Bearer $NUCLEO_ACCESS_TOKEN" \
-H 'Accept: application/json'const res = await fetch("https://api-catalog.nucleoplatform.com/api/catalog/v1/price-lists", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.NUCLEO_ACCESS_TOKEN}`,
Accept: "application/json",
},
});
const data = await res.json();
console.log(res.status, data);<?php
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://api-catalog.nucleoplatform.com/api/catalog/v1/price-lists', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('NUCLEO_ACCESS_TOKEN'),
'Accept' => 'application/json',
],
'http_errors' => false,
]);
echo $response->getStatusCode(), PHP_EOL;
echo $response->getBody();{
"data": [
{
"code": "eu",
"name": "string",
"currency": "EUR",
"active": true,
"default": true
}
]
}get
/locationsList locations
GET https://api-catalog.nucleoplatform.com/api/catalog/v1/locations
Authentication: Bearer token
Rate limit: 600 requests per 1m, per key (default; the catalog owner can set 1–6,000)
Responses
200The stock locations of the catalog.application/json
dataarray of objectrequiredAttributes of each item
codestringExample:mainnamestringactivebooleandefaultboolean
curl -X GET https://api-catalog.nucleoplatform.com/api/catalog/v1/locations \
-H "Authorization: Bearer $NUCLEO_ACCESS_TOKEN" \
-H 'Accept: application/json'const res = await fetch("https://api-catalog.nucleoplatform.com/api/catalog/v1/locations", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.NUCLEO_ACCESS_TOKEN}`,
Accept: "application/json",
},
});
const data = await res.json();
console.log(res.status, data);<?php
require 'vendor/autoload.php';
$client = new GuzzleHttp\Client();
$response = $client->request('GET', 'https://api-catalog.nucleoplatform.com/api/catalog/v1/locations', [
'headers' => [
'Authorization' => 'Bearer ' . getenv('NUCLEO_ACCESS_TOKEN'),
'Accept' => 'application/json',
],
'http_errors' => false,
]);
echo $response->getStatusCode(), PHP_EOL;
echo $response->getBody();{
"data": [
{
"code": "main",
"name": "string",
"active": true,
"default": true
}
]
}Was this page helpful?