Update a product
curl --request PATCH \
--url https://clarus-api.com/api/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Clarus-Subdomain: <api-key>' \
--data '
{
"data": {
"type": "products",
"attributes": {
"description": "<string>",
"stock_unit_type_id": 123,
"code": "<string>",
"long_description": "<string>",
"barcode": "<string>",
"case_barcode": "<string>",
"inner_barcode": "<string>",
"outer_barcode": "<string>",
"commodity_code": "<string>",
"country_of_manufacture": "<string>",
"customs_description": "<string>",
"shelf_life_min": 2,
"shelf_life_max": 2,
"stop": true,
"obsolete": 123,
"specific_gravity": 123,
"output_quantity": 1,
"assemble_on_pick": true,
"require_dimensions_on_receipt": true,
"non_hazardous_for_transport": true,
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"integer1": 123,
"integer2": 123,
"integer3": 123,
"integer4": 123,
"integer5": 123,
"datetime1": "2023-11-07T05:31:56Z",
"datetime2": "2023-11-07T05:31:56Z",
"datetime3": "2023-11-07T05:31:56Z",
"datetime4": "2023-11-07T05:31:56Z",
"datetime5": "2023-11-07T05:31:56Z",
"boolean1": true,
"boolean2": true,
"boolean3": true,
"boolean4": true,
"boolean5": true
}
}
}
'import requests
url = "https://clarus-api.com/api/products/{id}"
payload = { "data": {
"type": "products",
"attributes": {
"description": "<string>",
"stock_unit_type_id": 123,
"code": "<string>",
"long_description": "<string>",
"barcode": "<string>",
"case_barcode": "<string>",
"inner_barcode": "<string>",
"outer_barcode": "<string>",
"commodity_code": "<string>",
"country_of_manufacture": "<string>",
"customs_description": "<string>",
"shelf_life_min": 2,
"shelf_life_max": 2,
"stop": True,
"obsolete": 123,
"specific_gravity": 123,
"output_quantity": 1,
"assemble_on_pick": True,
"require_dimensions_on_receipt": True,
"non_hazardous_for_transport": True,
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"integer1": 123,
"integer2": 123,
"integer3": 123,
"integer4": 123,
"integer5": 123,
"datetime1": "2023-11-07T05:31:56Z",
"datetime2": "2023-11-07T05:31:56Z",
"datetime3": "2023-11-07T05:31:56Z",
"datetime4": "2023-11-07T05:31:56Z",
"datetime5": "2023-11-07T05:31:56Z",
"boolean1": True,
"boolean2": True,
"boolean3": True,
"boolean4": True,
"boolean5": True
}
} }
headers = {
"Authorization": "Bearer <token>",
"X-Clarus-Subdomain": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
Authorization: 'Bearer <token>',
'X-Clarus-Subdomain': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
type: 'products',
attributes: {
description: '<string>',
stock_unit_type_id: 123,
code: '<string>',
long_description: '<string>',
barcode: '<string>',
case_barcode: '<string>',
inner_barcode: '<string>',
outer_barcode: '<string>',
commodity_code: '<string>',
country_of_manufacture: '<string>',
customs_description: '<string>',
shelf_life_min: 2,
shelf_life_max: 2,
stop: true,
obsolete: 123,
specific_gravity: 123,
output_quantity: 1,
assemble_on_pick: true,
require_dimensions_on_receipt: true,
non_hazardous_for_transport: true,
external_system_reference1: '<string>',
external_system_reference2: '<string>',
external_system_reference3: '<string>',
string1: '<string>',
string2: '<string>',
string3: '<string>',
string4: '<string>',
string5: '<string>',
integer1: 123,
integer2: 123,
integer3: 123,
integer4: 123,
integer5: 123,
datetime1: '2023-11-07T05:31:56Z',
datetime2: '2023-11-07T05:31:56Z',
datetime3: '2023-11-07T05:31:56Z',
datetime4: '2023-11-07T05:31:56Z',
datetime5: '2023-11-07T05:31:56Z',
boolean1: true,
boolean2: true,
boolean3: true,
boolean4: true,
boolean5: true
}
}
})
};
fetch('https://clarus-api.com/api/products/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": 123,
"type": "products",
"attributes": {
"description": "<string>",
"stock_unit_type_id": 123,
"code": "<string>",
"long_description": "<string>",
"barcode": "<string>",
"case_barcode": "<string>",
"inner_barcode": "<string>",
"outer_barcode": "<string>",
"commodity_code": "<string>",
"country_of_manufacture": "<string>",
"customs_description": "<string>",
"shelf_life_min": 2,
"shelf_life_max": 2,
"stop": true,
"obsolete": 123,
"specific_gravity": 123,
"output_quantity": 1,
"assemble_on_pick": true,
"require_dimensions_on_receipt": true,
"non_hazardous_for_transport": true,
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"integer1": 123,
"integer2": 123,
"integer3": 123,
"integer4": 123,
"integer5": 123,
"datetime1": "2023-11-07T05:31:56Z",
"datetime2": "2023-11-07T05:31:56Z",
"datetime3": "2023-11-07T05:31:56Z",
"datetime4": "2023-11-07T05:31:56Z",
"datetime5": "2023-11-07T05:31:56Z",
"boolean1": true,
"boolean2": true,
"boolean3": true,
"boolean4": true,
"boolean5": true
}
}
}{
"error": "<string>"
}{
"errors": [
{
"code": 123,
"symbol": "<string>",
"details": "<string>",
"source": "<string>",
"context": {}
}
]
}{
"errors": [
{
"code": 123,
"symbol": "<string>",
"details": "<string>",
"source": "<string>",
"context": {}
}
]
}Products
Update a product
Update an existing product’s attributes. Changes to product settings may affect how existing stock is managed.
PATCH
/
api
/
products
/
{id}
Update a product
curl --request PATCH \
--url https://clarus-api.com/api/products/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Clarus-Subdomain: <api-key>' \
--data '
{
"data": {
"type": "products",
"attributes": {
"description": "<string>",
"stock_unit_type_id": 123,
"code": "<string>",
"long_description": "<string>",
"barcode": "<string>",
"case_barcode": "<string>",
"inner_barcode": "<string>",
"outer_barcode": "<string>",
"commodity_code": "<string>",
"country_of_manufacture": "<string>",
"customs_description": "<string>",
"shelf_life_min": 2,
"shelf_life_max": 2,
"stop": true,
"obsolete": 123,
"specific_gravity": 123,
"output_quantity": 1,
"assemble_on_pick": true,
"require_dimensions_on_receipt": true,
"non_hazardous_for_transport": true,
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"integer1": 123,
"integer2": 123,
"integer3": 123,
"integer4": 123,
"integer5": 123,
"datetime1": "2023-11-07T05:31:56Z",
"datetime2": "2023-11-07T05:31:56Z",
"datetime3": "2023-11-07T05:31:56Z",
"datetime4": "2023-11-07T05:31:56Z",
"datetime5": "2023-11-07T05:31:56Z",
"boolean1": true,
"boolean2": true,
"boolean3": true,
"boolean4": true,
"boolean5": true
}
}
}
'import requests
url = "https://clarus-api.com/api/products/{id}"
payload = { "data": {
"type": "products",
"attributes": {
"description": "<string>",
"stock_unit_type_id": 123,
"code": "<string>",
"long_description": "<string>",
"barcode": "<string>",
"case_barcode": "<string>",
"inner_barcode": "<string>",
"outer_barcode": "<string>",
"commodity_code": "<string>",
"country_of_manufacture": "<string>",
"customs_description": "<string>",
"shelf_life_min": 2,
"shelf_life_max": 2,
"stop": True,
"obsolete": 123,
"specific_gravity": 123,
"output_quantity": 1,
"assemble_on_pick": True,
"require_dimensions_on_receipt": True,
"non_hazardous_for_transport": True,
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"integer1": 123,
"integer2": 123,
"integer3": 123,
"integer4": 123,
"integer5": 123,
"datetime1": "2023-11-07T05:31:56Z",
"datetime2": "2023-11-07T05:31:56Z",
"datetime3": "2023-11-07T05:31:56Z",
"datetime4": "2023-11-07T05:31:56Z",
"datetime5": "2023-11-07T05:31:56Z",
"boolean1": True,
"boolean2": True,
"boolean3": True,
"boolean4": True,
"boolean5": True
}
} }
headers = {
"Authorization": "Bearer <token>",
"X-Clarus-Subdomain": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
Authorization: 'Bearer <token>',
'X-Clarus-Subdomain': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
type: 'products',
attributes: {
description: '<string>',
stock_unit_type_id: 123,
code: '<string>',
long_description: '<string>',
barcode: '<string>',
case_barcode: '<string>',
inner_barcode: '<string>',
outer_barcode: '<string>',
commodity_code: '<string>',
country_of_manufacture: '<string>',
customs_description: '<string>',
shelf_life_min: 2,
shelf_life_max: 2,
stop: true,
obsolete: 123,
specific_gravity: 123,
output_quantity: 1,
assemble_on_pick: true,
require_dimensions_on_receipt: true,
non_hazardous_for_transport: true,
external_system_reference1: '<string>',
external_system_reference2: '<string>',
external_system_reference3: '<string>',
string1: '<string>',
string2: '<string>',
string3: '<string>',
string4: '<string>',
string5: '<string>',
integer1: 123,
integer2: 123,
integer3: 123,
integer4: 123,
integer5: 123,
datetime1: '2023-11-07T05:31:56Z',
datetime2: '2023-11-07T05:31:56Z',
datetime3: '2023-11-07T05:31:56Z',
datetime4: '2023-11-07T05:31:56Z',
datetime5: '2023-11-07T05:31:56Z',
boolean1: true,
boolean2: true,
boolean3: true,
boolean4: true,
boolean5: true
}
}
})
};
fetch('https://clarus-api.com/api/products/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": 123,
"type": "products",
"attributes": {
"description": "<string>",
"stock_unit_type_id": 123,
"code": "<string>",
"long_description": "<string>",
"barcode": "<string>",
"case_barcode": "<string>",
"inner_barcode": "<string>",
"outer_barcode": "<string>",
"commodity_code": "<string>",
"country_of_manufacture": "<string>",
"customs_description": "<string>",
"shelf_life_min": 2,
"shelf_life_max": 2,
"stop": true,
"obsolete": 123,
"specific_gravity": 123,
"output_quantity": 1,
"assemble_on_pick": true,
"require_dimensions_on_receipt": true,
"non_hazardous_for_transport": true,
"external_system_reference1": "<string>",
"external_system_reference2": "<string>",
"external_system_reference3": "<string>",
"string1": "<string>",
"string2": "<string>",
"string3": "<string>",
"string4": "<string>",
"string5": "<string>",
"integer1": 123,
"integer2": 123,
"integer3": 123,
"integer4": 123,
"integer5": 123,
"datetime1": "2023-11-07T05:31:56Z",
"datetime2": "2023-11-07T05:31:56Z",
"datetime3": "2023-11-07T05:31:56Z",
"datetime4": "2023-11-07T05:31:56Z",
"datetime5": "2023-11-07T05:31:56Z",
"boolean1": true,
"boolean2": true,
"boolean3": true,
"boolean4": true,
"boolean5": true
}
}
}{
"error": "<string>"
}{
"errors": [
{
"code": 123,
"symbol": "<string>",
"details": "<string>",
"source": "<string>",
"context": {}
}
]
}{
"errors": [
{
"code": 123,
"symbol": "<string>",
"details": "<string>",
"source": "<string>",
"context": {}
}
]
}Request Structure
{
"data": {
"type": "products",
"attributes": {
"description": "Widget A - Large Size",
"barcode": "5012345678902",
"shelf_life_min": 60,
"shelf_life_max": 730
}
}
}
Key Fields
| Field | Required | Description |
|---|---|---|
code | No | Updated product SKU |
description | No | Updated description |
barcode | No | Updated barcode |
shelf_life_min/max | No | Updated shelf life in days |
Authorizations
OAuth 2.0 authentication. Use the client credentials or authorization code flow to obtain an access token.
The subdomain/tenant name identifying which tenant's data to access. Required for all API requests.
Path Parameters
The unique identifier of the product to update
Body
application/json
Show child attributes
Show child attributes
Response
Product updated successfully
Show child attributes
Show child attributes
⌘I

