Skip to content
ShopentlyLearn

Product models

Product models for lists, details, creation and updates. Inspect prices, availability, translations, field types and validation constraints.

Data schemas

List products — Response

ApiResponse_list_ProductSummaryData__ · Fields, types and constraints of data accepted or returned by the API.
dataArray <ProductSummaryData > Required

Response example · ApiResponse_list_ProductSummaryData__.

Example: [{"availability":{"available_from":null,"available_until":null,"is_available":true},"brand_id":null,"condition":"new","created_at":"2026-01-01T12:00:00Z","id":"example","name":"Example","number":"example","price":{"amount":"0.00","currency":"PLN","minor_units":2,"tax_included":true},"price_version":1,"primary_category_id":"example","primary_media_id":"example","published":false,"sku":"example","slug":"example","tax_category_id":"example","updated_at":"2026-01-01T12:00:00Z","variants_enabled":false,"version":1}]
metaContextPageMeta ContextMeta PageMeta RequestMeta Required

Response metadata.

Example: {"locale":"en","market_code":"PL","market_id":"example","pagination":{"has_more":false,"limit":20,"next_cursor":null},"request_id":"example"}

Additional fields: No

Get a product — Response

ApiResponse_ProductDetailData_ · Fields, types and constraints of data accepted or returned by the API.
dataProductDetailData Required

Response example · ProductDetailData.

Example: {"availability":{"available_from":null,"available_until":null,"is_available":true},"brand_id":null,"condition":"new","created_at":"2026-01-01T12:00:00Z","description":"example","features":[{"feature_id":"example","feature_name":"example","value":"example","value_id":"example"}],"id":"example","identifiers":{},"media":[{"alt_text":"example","id":"example","is_primary":true,"kind":"image","mime_type":"image/jpeg","position":1,"url":"https://example.invalid/product.jpg"}],"meta_description":"example","meta_keywords":["example"],"meta_title":"example","name":"Example","number":"example","price":{"amount":"0.00","currency":"PLN","minor_units":2,"tax_included":true},"price_version":1,"primary_category_id":"example","primary_media_id":"example","published":false,"sku":"example","slug":"example","tax_category_id":"example","updated_at":"2026-01-01T12:00:00Z","variants_enabled":false,"version":1}
metaContextPageMeta ContextMeta PageMeta RequestMeta Required

Response metadata.

Example: {"locale":"en","market_code":"PL","market_id":"example","request_id":"example"}

Additional fields: No

Availability information for the selected context

AvailabilityData · Schema · Product models
available_fromString nullRequired

Start of availability.

String:format: "date-time"
Example: null
available_untilString nullRequired

End of availability.

String:format: "date-time"
Example: null
is_availableBooleanRequired

Whether the item is available in this context.

Example: true

Additional fields: No

Price information in the selected context

PriceData · Schema · Product models
amountStringRequired

Decimal amount encoded as a JSON string; null only where allowed.

Example: "0.00"
currencyStringRequired

Currency code for the amount.

Constraints
pattern
"^[A-Z]{3}$"
Example: "PLN"
minor_unitsIntegerRequired

Number of fractional digits used by the currency.

minimum: 0maximum: 4
Example: 2
tax_includedBooleanRequired

Whether the submitted price includes tax.

Example: true

Additional fields: No

Price-list information

PriceListData · Schema · Product models
currencyStringRequired

Currency code for the amount.

idStringRequired

Resource identifier; preserve it as returned. (PriceListData).

tax_includedBooleanRequired

Whether the submitted price includes tax.

versionIntegerRequired

Resource version used for concurrency control.

Additional fields: No

Create a product — Request body

ProductCreate · Fields, types and constraints of data accepted or returned by the API.
brand_idString nullOptional

Brand identifier.

String:minLength: 1maxLength: 63
conditionStringOptional

Product condition.

Constraints
enum
["new", "refurbished", "used", "returned", "display", "damaged"]
Default: "new"
descriptionString nullOptional

Description in the selected language.

String:maxLength: 100000
feature_value_idsArray <String> Optional

Identifiers of selected feature values.

maxItems: 1000
Array:minLength: 1maxLength: 63
identifiersProductIdentifiers nullOptional

Product identification codes.

market_idsArray <String> Optional

Identifiers of selected markets.

maxItems: 1000
Array:minLength: 1maxLength: 63
media_idsArray <String> Optional

Identifiers of already existing media assets.

maxItems: 20
Array:minLength: 1maxLength: 63
meta_descriptionString nullOptional

Search-engine description in the selected language.

String:maxLength: 160
meta_keywordsArray <String> nullOptional

Search-engine keywords in the selected language.

Array:maxItems: 20
Array / Array:maxLength: 50
meta_titleString nullOptional

Search-engine title in the selected language.

String:maxLength: 70
nameStringRequired

Resource name in the relevant context.

minLength: 1maxLength: 300
Example: "Example"
pricingProductPrice Optional

Price configuration and its concurrency versions.

primary_category_idString nullOptional

Primary category identifier.

String:minLength: 1maxLength: 63
publishedBooleanOptional

Whether the resource is published.

Default: false
skuStringRequired

Stock keeping unit code.

minLength: 1maxLength: 100
Constraints
pattern
"^\\S+$"
Example: "example"
slugString nullOptional

URL path segment in the selected language.

String:maxLength: 160
tax_category_idString nullOptional

Tax category identifier.

String:minLength: 1maxLength: 63
variant_value_idsArray <String> Optional

Identifiers of selected variant values.

maxItems: 250
Array:minLength: 1maxLength: 63
variants_enabledBooleanOptional

Whether the product uses variants.

Default: false

Additional fields: No

Get a product — Response

ProductDetailData · Fields, types and constraints of data accepted or returned by the API.
availabilityAvailabilityData Required

Availability information for the selected context.

Example: {"available_from":null,"available_until":null,"is_available":true}
brand_idString nullRequired

Brand identifier.

Example: null
conditionStringRequired

Product condition.

Constraints
enum
["new", "refurbished", "used", "returned", "display", "damaged"]
Example: "new"
created_atStringRequired

Creation time.

format: "date-time"
Example: "2026-01-01T12:00:00Z"
descriptionString nullRequired

Description in the selected language.

Example: "example"
featuresArray <FeatureSelectionData > Required

Product features.

Example: [{"feature_id":"example","feature_name":"example","value":"example","value_id":"example"}]
idStringRequired

Resource identifier; preserve it as returned. (ProductDetailData).

Example: "example"
identifiersObjectAdditional fields: StringRequired

Product identification codes.

Example: {}
mediaArray <ProductMediaData > Required

Attached media information.

Example: [{"alt_text":"example","id":"example","is_primary":true,"kind":"image","mime_type":"image/jpeg","position":1,"url":"https://example.invalid/product.jpg"}]
meta_descriptionString nullRequired

Search-engine description in the selected language.

Example: "example"
meta_keywordsArray <String> nullRequired

Search-engine keywords in the selected language.

Example: ["example"]
meta_titleString nullRequired

Search-engine title in the selected language.

Example: "example"
nameString nullRequired

Resource name in the relevant context.

Example: "Example"
numberStringRequired

Human-facing order or request number.

Example: "example"
pricePriceData nullRequired

Price information in the selected context.

Example: {"amount":"0.00","currency":"PLN","minor_units":2,"tax_included":true}
price_versionIntegerRequired

Current price version for concurrency control.

Example: 1
primary_category_idString nullRequired

Primary category identifier.

Example: "example"
primary_media_idString nullRequired

Primary media asset identifier.

Example: "example"
publishedBooleanRequired

Whether the resource is published.

Example: false
skuStringRequired

Stock keeping unit code.

Example: "example"
slugString nullRequired

URL path segment in the selected language.

Example: "example"
tax_category_idStringRequired

Tax category identifier.

Example: "example"
updated_atStringRequired

Most recent update time.

format: "date-time"
Example: "2026-01-01T12:00:00Z"
variants_enabledBooleanRequired

Whether the product uses variants.

Example: false
versionIntegerRequired

Resource version used for concurrency control.

Example: 1

Additional fields: No

Product identification codes

ProductIdentifiers · Schema · Product models
eanString nullOptional

EAN product identifier.

String:minLength: 1maxLength: 100
isbnString nullOptional

ISBN identifier.

String:minLength: 1maxLength: 100
mpnString nullOptional

Manufacturer part number.

String:minLength: 1maxLength: 100
upcString nullOptional

UPC product identifier.

String:minLength: 1maxLength: 100

Additional fields: No

Attached media information

ProductMediaData · Schema · Product models
alt_textString nullRequired

Alternative text for an image.

Example: "example"
idStringRequired

Resource identifier; preserve it as returned. (ProductMediaData).

Example: "example"
is_primaryBooleanRequired

Whether this is the primary item.

Example: true
kindStringRequired

Variant of the data structure described by its allowed values.

Constraints
enum
["image", "video", "model_3d"]
Example: "image"
mime_typeStringRequired

Media content type.

Example: "image/jpeg"
positionIntegerRequired

Position in the ordered collection.

Example: 1
urlString nullRequired

Resource URL.

Example: "https://example.invalid/product.jpg"

Additional fields: No

Price configuration and its concurrency versions

ProductPrice · Schema · Product models
amountString nullRequired

Decimal amount encoded as a JSON string; null only where allowed.

String:maxLength: 19
Constraints · String 1
pattern
"^(0|[1-9][0-9]{0,13})(\\.[0-9]{1,4})?$"
Example: "0.00"
currencyStringRequired

Currency code for the amount.

Constraints
pattern
"^[A-Z]{3}$"
Example: "PLN"
expected_price_list_versionIntegerRequired

Previously read price-list version required for this write.

minimum: 1maximum: 9223372036854775807
Example: 1
expected_versionIntegerRequired

Version read before the write; a mismatch rejects the update.

minimum: 0maximum: 9223372036854775807
Example: 0
kindStringRequired

Variant of the data structure described by its allowed values.

Constraints
enum
["base", "market_fixed"]
Example: "base"
price_list_idStringRequired

Price-list identifier.

minLength: 1maxLength: 63
Example: "example"
tax_includedBooleanRequired

Whether the submitted price includes tax.

Example: true

Additional fields: No

List products — Response

ProductSummaryData · Fields, types and constraints of data accepted or returned by the API.
availabilityAvailabilityData Required

Availability information for the selected context.

Example: {"available_from":null,"available_until":null,"is_available":true}
brand_idString nullRequired

Brand identifier.

Example: null
conditionStringRequired

Product condition.

Constraints
enum
["new", "refurbished", "used", "returned", "display", "damaged"]
Example: "new"
created_atStringRequired

Creation time.

format: "date-time"
Example: "2026-01-01T12:00:00Z"
idStringRequired

Resource identifier; preserve it as returned. (ProductSummaryData).

Example: "example"
nameString nullRequired

Resource name in the relevant context.

Example: "Example"
numberStringRequired

Human-facing order or request number.

Example: "example"
pricePriceData nullRequired

Price information in the selected context.

Example: {"amount":"0.00","currency":"PLN","minor_units":2,"tax_included":true}
price_versionIntegerRequired

Current price version for concurrency control.

Example: 1
primary_category_idString nullRequired

Primary category identifier.

Example: "example"
primary_media_idString nullRequired

Primary media asset identifier.

Example: "example"
publishedBooleanRequired

Whether the resource is published.

Example: false
skuStringRequired

Stock keeping unit code.

Example: "example"
slugString nullRequired

URL path segment in the selected language.

Example: "example"
tax_category_idStringRequired

Tax category identifier.

Example: "example"
updated_atStringRequired

Most recent update time.

format: "date-time"
Example: "2026-01-01T12:00:00Z"
variants_enabledBooleanRequired

Whether the product uses variants.

Example: false
versionIntegerRequired

Resource version used for concurrency control.

Example: 1

Additional fields: No

Update a product — Request body

ProductUpdate · Fields, types and constraints of data accepted or returned by the API.
brand_idString nullOptional

Brand identifier.

String:minLength: 1maxLength: 63
conditionStringOptional

Product condition.

Constraints
enum
["new", "refurbished", "used", "returned", "display", "damaged"]
descriptionString nullOptional

Description in the selected language.

String:maxLength: 100000
Example: null
expected_variant_price_versionsObjectAdditional fields: Integer
minimum: 0maximum: 9223372036854775807
Optional

Previously read price versions, keyed by variant identifier.

maxProperties: 250
Constraints
propertyNames
{"maxLength": 63, "minLength": 1}
expected_versionIntegerRequired

Version read before the write; a mismatch rejects the update.

minimum: 1maximum: 9223372036854775807
Example: 1
feature_value_idsArray <String> Optional

Identifiers of selected feature values.

maxItems: 1000
Array:minLength: 1maxLength: 63
identifiersProductIdentifiers nullOptional

Product identification codes.

market_idsArray <String> Optional

Identifiers of selected markets.

maxItems: 1000
Array:minLength: 1maxLength: 63
media_idsArray <String> Optional

Identifiers of already existing media assets.

maxItems: 20
Array:minLength: 1maxLength: 63
meta_descriptionString nullOptional

Search-engine description in the selected language.

String:maxLength: 160
meta_keywordsArray <String> nullOptional

Search-engine keywords in the selected language.

Array:maxItems: 20
Array / Array:maxLength: 50
meta_titleString nullOptional

Search-engine title in the selected language.

String:maxLength: 70
nameString nullOptional

Resource name in the relevant context.

String:maxLength: 300
Example: null
pricingProductPrice Optional

Price configuration and its concurrency versions.

Example: {"amount":"0.00","currency":"PLN","expected_price_list_version":1,"expected_version":0,"kind":"base","price_list_id":"example","tax_included":true}
primary_category_idString nullOptional

Primary category identifier.

String:minLength: 1maxLength: 63
publishedBooleanOptional

Whether the resource is published.

skuStringOptional

Stock keeping unit code.

minLength: 1maxLength: 100
Constraints
pattern
"^\\S+$"
Example: "example"
slugString nullOptional

URL path segment in the selected language.

String:maxLength: 160
tax_category_idString nullOptional

Tax category identifier.

String:minLength: 1maxLength: 63
variant_value_idsArray <String> Optional

Identifiers of selected variant values.

maxItems: 250
Array:minLength: 1maxLength: 63
variants_enabledBooleanOptional

Whether the product uses variants.

Additional fields: No