Product API (1.0.0)

Download OpenAPI specification:

Products, variants, families, and catalog models.

Product Families

List product families

Get a paginated list of product families with optional filters

Authorizations:
BearerAuth
query Parameters
page
integer >= 1
Default: 1

Page number

page_size
integer [ 1 .. 100 ]
Default: 10

Items per page

code
string

Filter by code (exact match)

name
string

Filter by name (partial match)

status
string
Enum: "enabled" "disabled"

Filter by status

search
string

Search across code and name

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Create a new product family

Create a new product family with the provided details

Authorizations:
BearerAuth
Request Body schema: application/json
required

Product family details

code
required
string
description
string
name
required
string

Responses

Request samples

Content type
application/json
{
  • "code": "APPAREL",
  • "description": "Clothing and fashion products including shirts, pants, dresses",
  • "name": "Apparel"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Get product family details

Get details of a specific product family by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Product Family ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Delete a product family

Delete a product family by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Product Family ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "success": true
}

Update a product family

Update an existing product family's details

Authorizations:
BearerAuth
path Parameters
id
required
string

Product Family ID

Request Body schema: application/json
required

Updated product family details

description
string
object (UpdateDisplayAttributes)
name
string

Responses

Request samples

Content type
application/json
{
  • "description": "Updated description for clothing category",
  • "display_attributes": {
    },
  • "name": "Clothing & Accessories"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Change product family status

Change the status of a product family (active/inactive)

Authorizations:
BearerAuth
path Parameters
id
required
string

Product Family ID

Request Body schema: application/json
required

Status change request

status
required
string
Enum: "active" "inactive"

Responses

Request samples

Content type
application/json
{
  • "status": "inactive"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Product Family Translations

Get all translations for a product family

Retrieve all localized translations for a specific product family

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 1

Product Family ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Update product family translations

PATCH: Update multiple translations for a product family

Authorizations:
BearerAuth
path Parameters
id
required
string
Example: 1

Product Family ID

Request Body schema: application/json
required

Translations data

required
Array of objects (ProductFamilyTranslationInput)

Responses

Request samples

Content type
application/json
{
  • "translations": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Product Family Attributes

List product family attributes

Get attributes for a product family

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

query Parameters
page
integer >= 1
Default: 1

Page number

page_size
integer [ 1 .. 100 ]
Default: 20

Items per page

search
string

Search by attribute name

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Create product family attributes

Bulk create attributes for a product family

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

Request Body schema: application/json
required

Attributes to create

required
Array of objects (CreateProductFamilyAttributeRequest)

Responses

Request samples

Content type
application/json
{
  • "attributes": [
    ]
}

Response samples

Content type
application/json
{
  • "data": null,
  • "success": true
}

Partially update product family attributes

Partially update attributes for a product family

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

Request Body schema: application/json
required

Attributes to partially update

required
Array of objects (CreateProductFamilyAttributeRequest)

Responses

Request samples

Content type
application/json
{
  • "attributes": [
    ]
}

Response samples

Content type
application/json
{
  • "data": null,
  • "success": true
}

Delete a product family attribute

Remove a specific attribute from a product family

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

attributeId
required
string

Attribute ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "success": true
}

Variant Families

List variant families

Get all variant families for a specific product family

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Create a variant family

Create a new variant family for a product family

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

Request Body schema: application/json
required

Variant family data

Array of objects (AxisInput)
code
required
string <= 100 characters
name
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "axes": [
    ],
  • "code": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Get variant family by ID

Get detailed information about a specific variant family

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

variantFamilyId
required
string

Variant Family ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Delete a variant family

Soft delete a variant family by ID

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

variantFamilyId
required
string

Variant Family ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "success": true
}

Variant Family Translations

Get all translations for a variant family

Retrieve all localized translations for a specific variant family

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

variantFamilyId
required
string

Variant Family ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Update variant family translations

PATCH: Create or update multiple translations for a variant family

Authorizations:
BearerAuth
path Parameters
productFamilyId
required
string

Product Family ID

variantFamilyId
required
string

Variant Family ID

Request Body schema: application/json
required

Translations data

required
Array of objects (VariantFamilyTranslationInput)

Responses

Request samples

Content type
application/json
{
  • "translations": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Products

List products

Get a paginated list of products with optional filters

Authorizations:
BearerAuth
query Parameters
page
integer >= 1
Default: 1

Page number

page_size
integer [ 1 .. 100 ]
Default: 10

Items per page

code
string

Filter by code (partial match)

name
string

Filter by name (partial match)

status
string
Enum: "enabled" "disabled"

Filter by status

product_family_id
string

Filter by product family ID

search
string

Search across code and name

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Create a new product

Create a new product with the provided details

Authorizations:
BearerAuth
Request Body schema: application/json
required

Product details

category_ids
Array of strings
code
required
string <= 128 characters
product_family_id
required
string
product_type
string <= 50 characters
variant_family_id
string

Responses

Request samples

Content type
application/json
{
  • "category_ids": [
    ],
  • "code": "TSHIRT-BLU-001",
  • "product_family_id": "5",
  • "product_type": "configurable",
  • "variant_family_id": "7"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Get product by ID

Get detailed information about a specific product

Authorizations:
BearerAuth
path Parameters
id
required
string

Product ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Delete a product

Delete a product by ID

Authorizations:
BearerAuth
path Parameters
id
required
string

Product ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "success": true
}

Update a product

Update an existing product's details

Authorizations:
BearerAuth
path Parameters
id
required
string

Product ID

Request Body schema: application/json
required

Updated product details

category_ids
Array of strings

Responses

Request samples

Content type
application/json
{
  • "category_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Clone a product

Clone a product with a new code, copying product data except variants and variant attributes

Authorizations:
BearerAuth
path Parameters
id
required
string

Source Product ID

Request Body schema: application/json
required

Clone payload

code
required
string <= 128 characters

Responses

Request samples

Content type
application/json
{
  • "code": "TSHIRT-BLU-001-COPY"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Change product status

Change the status of a product (draft/in_review/approved/archived) with variant cascade

Authorizations:
BearerAuth
path Parameters
id
required
string

Product ID

Request Body schema: application/json
required

Status change request

status
required
string
Enum: "draft" "in_review" "approved" "archived"

Responses

Request samples

Content type
application/json
{
  • "status": "approved"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Product Revisions

List product revisions

Paginated version history for a product (newest first)

Authorizations:
BearerAuth
path Parameters
id
required
string

Product ID

query Parameters
page
integer >= 1
Default: 1

Page number

page_size
integer [ 1 .. 100 ]
Default: 20

Items per page

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Get current product revision

Full snapshot for the product's latest revision via latest_revision_id pointer

Authorizations:
BearerAuth
path Parameters
id
required
string

Product ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Get product revision

Full snapshot for a single revision

Authorizations:
BearerAuth
path Parameters
id
required
string

Product ID

revisionId
required
string

Revision ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Restore product revision

Restore catalog state from a revision; creates a new revision with change_source revert

Authorizations:
BearerAuth
path Parameters
id
required
string

Product ID

revisionId
required
string

Revision ID

Request Body schema: application/json

Optional optimistic lock and comment

comment
string
expected_revision
integer

Responses

Request samples

Content type
application/json
{
  • "comment": "string",
  • "expected_revision": 0
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Product Attributes

List product attributes

Get all attributes for a specific product with attribute metadata

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

query Parameters
page
integer >= 1
Default: 1

Page number

page_size
integer [ 1 .. 100 ]
Default: 20

Items per page

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Create or update product attributes

Bulk create or update attributes for a product. Each value uses the standardized payload: text/number/boolean: {"value": "some text"} | select: {"value": "option_code"}

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

Request Body schema: application/json
required

Product attributes

Array
attribute_id
required
string
Array of objects (ScopedValue)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "data": null,
  • "success": true
}

Partially update product attributes

Update specific fields of product attributes without replacing entire attribute set. Each value uses the standardized payload: text/number/boolean: {"value": "some text"} | select: {"value": "option_code"}

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

Request Body schema: application/json
required

Product attributes to partially update

Array
attribute_id
required
string
Array of objects (ScopedValue)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "data": null,
  • "success": true
}

Delete a product attribute

Delete a specific attribute from a product

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

id
required
string

Product Attribute ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "success": true
}

Variants

List product variants

Get all variants for a specific product

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Create a new variant

Create a new variant for a product with attributes

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

Request Body schema: application/json
required

Variant details

required
Array of objects (AxisValueInput) non-empty
is_default
boolean
sku
required
string <= 128 characters

Responses

Request samples

Content type
application/json
{
  • "axis_values": [
    ],
  • "is_default": false,
  • "sku": "TSHIRT-BLU-S"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Get variant by ID

Get detailed information about a specific variant

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

id
required
string

Variant ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Delete a variant

Delete a variant by ID

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

id
required
string

Variant ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "success": true
}

Update a variant

Update an existing variant's details

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

id
required
string

Variant ID

Request Body schema: application/json
required

Updated variant details

is_default
boolean

Responses

Request samples

Content type
application/json
{
  • "is_default": true
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Change variant status

Change the status of a variant (draft/in_review/approved/archived)

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

id
required
string

Variant ID

Request Body schema: application/json
required

Status change request

status
required
string
Enum: "draft" "in_review" "approved" "archived"

Responses

Request samples

Content type
application/json
{
  • "status": "approved"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Variant Attributes

List variant attributes

Get all attributes for a specific variant with attribute metadata

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

variantId
required
string

Variant ID

query Parameters
page
integer >= 1
Default: 1

Page number

page_size
integer [ 1 .. 100 ]
Default: 20

Items per page

search
string

Search by attribute name

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true
}

Create variant attributes

Bulk create or update attributes for a variant. Each value uses the standardized payload: text/number/boolean: {"value": "some text"} | select: {"value": "option_code"}

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

variantId
required
string

Variant ID

Request Body schema: application/json
required

Variant attributes

Array
attribute_id
required
string
Array of objects (ScopedValue2)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "data": null,
  • "success": true
}

Update variant attributes

Bulk update or create attributes for a variant (PATCH semantics - only modifies provided attributes). Each value uses the standardized payload: text/number/boolean: {"value": "some text"} | select: {"value": "option_code"}

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

variantId
required
string

Variant ID

Request Body schema: application/json
required

Variant attributes to update

Array
attribute_id
required
string
Array of objects (ScopedValue2)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "data": null,
  • "success": true
}

Delete a variant attribute

Delete a specific attribute from a variant

Authorizations:
BearerAuth
path Parameters
productId
required
string

Product ID

variantId
required
string

Variant ID

id
required
string

Variant Attribute ID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "message": "string",
  • "success": true
}