Skip to content

Apiera REST API (1.1.0)

The Apiera REST API provides programmatic access to the Apiera platform, enabling seamless integration with your existing systems and workflows.

Download OpenAPI description
Languages
Servers
Mock server
https://docs.apiera.io/_mock/openapi
Production
https://api.apiera.io

Asset Collections

An asset collection links an asset to a collection, enabling assets to be organized into flexible groupings.

Operations

Assets

An asset represents a managed file such as an image, video, or document. Each asset tracks its category, storage location, and descriptive metadata.

Operations

Attribute Contents

Attribute content provides locale-specific labels and descriptions for an attribute. Each content entry localizes the attribute for a specific locale, enabling multilingual attribute presentation.

Operations

Attributes

An attribute drives filtering and variants for products, such as color, size, or material. Each attribute defines a finite set of values that products can be classified and filtered by.

Operations

Brand Contents

Brand content provides locale-specific labels and descriptions for a brand. Each content entry localizes the brand for a specific locale, enabling multilingual brand presentation.

Operations

Brands

A brand identifies the manufacturer or label associated with products. Brands support localized content through brand content entries.

Operations

Category Contents

Category content provides locale-specific labels and descriptions for a category. Each content entry localizes the category for a specific locale, enabling multilingual category presentation.

Operations

Categories

A category groups products that share similar characteristics. Categories can be organized into hierarchies through parent-child relationships.

Operations

Channels

A channel is a market distribution template that defines the requirements products must meet to be published to a specific sales context or geographic market.

Operations

Channel Input Types

A channel input type is an association between a channel and an input type, defining the requirement level and scoping behavior for that input type within the channel.

Operations

Collections

A collection is a flexible grouping mechanism for organizing assets. Collections support hierarchical structures through parent-child relationships and follow a lifecycle model with draft, active, inactive, and removed states.

Operations

Family Asset Types

A family asset type is an association between a family and an asset type, defining count constraints and applicability to parent and variant products.

Operations

Family Attributes

A family attribute is an association between a family and an attribute, defining the requirement level and auto-population behavior for that attribute within the family.

Operations

Family Categories

A family category is an association between a family and a category, defining the requirement level and auto-population behavior for that category within the family.

Operations

Families

A family is a product blueprint that defines the structure and requirements for a specific type of product, ensuring consistency and data quality across all products of the same type.

Operations

Family Input Types

A family input type is an association between a family and an input type, defining the requirement level and applicability to parent and variant products.

Operations

Family Relation Types

A family relation type is an association between a family and a relation type, defining count constraints for product relations within the family.

Operations

Asset Files

A file represents an individual version or variation of an asset, such as an original upload, a thumbnail, or a web-optimized rendition. Files are uploaded through a two-step process of initiation and completion.

Operations

Input Types

An input type defines a data entry field within a type group, such as a product description, regular price, or SEO metadata. Each input type specifies its data type and validation constraints for the values captured against it.

Operations

Locales

A locale defines a language and region combination used for localizing content across the system. One locale can be designated as the default for the tenant.

Operations

Product Assets

A product asset is an association between a product and an asset, classified by asset type and ordered by display priority.

Operations

Product Asset Types

A product asset type classifies the different kinds of assets that can be attached to products and controls featured asset selection.

Operations

Product Attributes

A product attribute is an association between a product and an attribute, indicating whether it is used for variant differentiation.

Operations

Product Categories

A product category is an association between a product and a category, used for organizing products into groups.

Operations

Product Channel Publications

A product channel publication represents the publication state of a product for a specific channel.

Operations

Product Channel Publication Schedules

A product channel publication schedule automates lifecycle transitions for a channel publication at a specified time.

Operations

Products

A product is the central entity that holds enriched content, attributes, assets, categories, and relations. Products can be simple, variant parents, or variants.

Operations

List products

Request

Retrieves a paginated list of products.

Security
Bearer
Query
uuids[eq]Array of strings(uuid)
familyUuids[eq]Array of strings(uuid)
brandUuids[eq]Array of strings(uuid)
assetUuids[eq]Array of strings(uuid)
attributeUuids[eq]Array of strings(uuid)
parentUuids[eq]Array of strings or null(uuid)
codes[eq]Array of strings
code[contains]string
code[starts]string
code[ends]string
code[order]string
displayNames[eq]Array of strings
displayName[contains]string
displayName[starts]string
displayName[ends]string
displayName[order]string
statuses[eq]Array of strings(ProductStatus)
Items Enum ValueDescription
draft

The initial state of the product.

published

The product is visible to consumers.

unpublished

The product is no longer visible to consumers.

archived

The product is archived and no longer in active use.

removed

The product has been soft-deleted.

status[order]string
types[eq]Array of strings
Items Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

type[order]string
createdAt[eq]string(date-time)
Example: createdAt[eq]=2025-11-23T14:15:22.123456Z
createdAt[min]string(date-time)
Example: createdAt[min]=2025-11-23T14:15:22.123456Z
createdAt[max]string(date-time)
Example: createdAt[max]=2025-11-23T14:15:22.123456Z
createdAt[order]string
updatedAt[eq]string(date-time)
Example: updatedAt[eq]=2025-11-23T14:15:22.123456Z
updatedAt[min]string(date-time)
Example: updatedAt[min]=2025-11-23T14:15:22.123456Z
updatedAt[max]string(date-time)
Example: updatedAt[max]=2025-11-23T14:15:22.123456Z
updatedAt[order]string
isArchived[eq]boolean
isRemoved[eq]boolean
pageinteger(int32)
sizeinteger(int32)
include[productAssets]boolean
expand[productAssets]boolean
include[productAttributes]boolean
expand[productAttributes]boolean
include[productAttributeTerms]boolean
expand[productAttributeTerms]boolean
include[productCategories]boolean
expand[productCategories]boolean
include[productTags]boolean
expand[productTags]boolean
include[productInputValues]boolean
expand[productInputValues]boolean
include[relations]boolean
expand[relations]boolean
include[channelPublications]boolean
expand[channelPublications]boolean
expand[completeness]boolean
Headers
X-Channel-Uuidstring(uuid)
curl -i -X GET \
  'https://docs.apiera.io/_mock/openapi/v1/products?uuids%5Beq%5D=497f6eca-6276-4993-bfeb-53cbbbba6f08&familyUuids%5Beq%5D=497f6eca-6276-4993-bfeb-53cbbbba6f08&brandUuids%5Beq%5D=497f6eca-6276-4993-bfeb-53cbbbba6f08&assetUuids%5Beq%5D=497f6eca-6276-4993-bfeb-53cbbbba6f08&attributeUuids%5Beq%5D=497f6eca-6276-4993-bfeb-53cbbbba6f08&parentUuids%5Beq%5D=497f6eca-6276-4993-bfeb-53cbbbba6f08&codes%5Beq%5D=string&code%5Bcontains%5D=string&code%5Bstarts%5D=string&code%5Bends%5D=string&code%5Border%5D=string&displayNames%5Beq%5D=string&displayName%5Bcontains%5D=string&displayName%5Bstarts%5D=string&displayName%5Bends%5D=string&displayName%5Border%5D=string&statuses%5Beq%5D=draft&status%5Border%5D=string&types%5Beq%5D=simple&type%5Border%5D=string&createdAt%5Beq%5D=2025-11-23T14%3A15%3A22.123456Z&createdAt%5Bmin%5D=2025-11-23T14%3A15%3A22.123456Z&createdAt%5Bmax%5D=2025-11-23T14%3A15%3A22.123456Z&createdAt%5Border%5D=string&updatedAt%5Beq%5D=2025-11-23T14%3A15%3A22.123456Z&updatedAt%5Bmin%5D=2025-11-23T14%3A15%3A22.123456Z&updatedAt%5Bmax%5D=2025-11-23T14%3A15%3A22.123456Z&updatedAt%5Border%5D=string&isArchived%5Beq%5D=true&isRemoved%5Beq%5D=true&page=0&size=0&include%5BproductAssets%5D=true&expand%5BproductAssets%5D=true&include%5BproductAttributes%5D=true&expand%5BproductAttributes%5D=true&include%5BproductAttributeTerms%5D=true&expand%5BproductAttributeTerms%5D=true&include%5BproductCategories%5D=true&expand%5BproductCategories%5D=true&include%5BproductTags%5D=true&expand%5BproductTags%5D=true&include%5BproductInputValues%5D=true&expand%5BproductInputValues%5D=true&include%5Brelations%5D=true&expand%5Brelations%5D=true&include%5BchannelPublications%5D=true&expand%5BchannelPublications%5D=true&expand%5Bcompleteness%5D=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'X-Channel-Uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08'

Responses

A paginated list of products.

Bodyapplication/json
itemsArray of objects(ProductHydratedResponse)required
items[].​uuidstring(uuid)required

Unique identifier for this product.

items[].​familyUuidstring or null(uuid)

Identifier of the family defining structure and requirements for this product.

items[].​parentUuidstring or null(uuid)

Identifier of the parent product for variant relationships.

items[].​brandUuidstring or null(uuid)

Identifier of the brand associated with this product.

items[].​createdAtstring(date-time)required

Timestamp when this product was created.

Example: "2025-11-23T14:15:22.123456Z"
items[].​updatedAtstring(date-time)required

Timestamp when this product was last modified.

Example: "2025-11-23T14:15:22.123456Z"
items[].​removedAtstring or null(date-time)

Timestamp when this product was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
items[].​archivedAtstring or null(date-time)

Timestamp when this product was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
items[].​statusstring(ProductStatus)required

Lifecycle status of a product.

Enum ValueDescription
draft

The initial state of the product.

published

The product is visible to consumers.

unpublished

The product is no longer visible to consumers.

archived

The product is archived and no longer in active use.

removed

The product has been soft-deleted.

items[].​typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

items[].​codestringrequired

Unique code identifier for this product.

items[].​displayNamestringrequired

The display name of the product.

items[].​productAssetUuidsArray of strings or null(uuid)

Collection of product-asset junction UUIDs. Populated when include[productAssets]=true.

items[].​productAssetsArray of objects or null(ProductAssetResponse)

Collection of product-asset junctions. Populated when expand[productAssets]=true.

items[].​productAttributeUuidsArray of strings or null(uuid)

Collection of product-attribute junction UUIDs. Populated when include[productAttributes]=true.

items[].​productAttributesArray of objects or null(ProductAttributeResponse)

Collection of product-attribute junctions. Populated when expand[productAttributes]=true.

items[].​productAttributeTermUuidsArray of strings or null(uuid)

Collection of product-term junction UUIDs. Populated when include[productAttributeTerms]=true.

items[].​productAttributeTermsArray of objects or null(ProductTermResponse)

Collection of product-term junctions. Populated when expand[productAttributeTerms]=true.

items[].​productCategoryUuidsArray of strings or null(uuid)

Collection of product-category junction UUIDs. Populated when include[productCategories]=true.

items[].​productCategoriesArray of objects or null(ProductCategoryResponse)

Collection of product-category junctions. Populated when expand[productCategories]=true.

items[].​productTagUuidsArray of strings or null(uuid)

Collection of product-tag junction UUIDs. Populated when include[productTags]=true.

items[].​productTagsArray of objects or null(ProductTagResponse)

Collection of product-tag junctions. Populated when expand[productTags]=true.

items[].​productInputValueUuidsArray of strings or null(uuid)required
items[].​productInputValuesArray of objects or null(ProductInputValueResponse)required
items[].​productInputValues[].​uuidstring(uuid)required

Unique identifier for this input value.

items[].​productInputValues[].​productUuidstring(uuid)required

Identifier of the product this value belongs to.

items[].​productInputValues[].​typeGroupUuidstring(uuid)required

Identifier of the type group containing the input type.

items[].​productInputValues[].​inputTypeUuidstring(uuid)required

Identifier of the input type for this value.

items[].​productInputValues[].​channelUuidstring or null(uuid)required

Identifier of the channel for this value. Null for non-scoped values.

items[].​productInputValues[].​localeUuidstring or null(uuid)required

Identifier of the locale for this value. Null for non-localized values.

items[].​productInputValues[].​createdAtstring(date-time)required

Timestamp when this input value was created.

Example: "2025-11-23T14:15:22.123456Z"
items[].​productInputValues[].​updatedAtstring(date-time)required

Timestamp when this input value was last modified.

Example: "2025-11-23T14:15:22.123456Z"
items[].​productInputValues[].​valuestringrequired

The input value.

items[].​relationUuidsArray of strings or null(uuid)

Collection of relation UUIDs for this product.

items[].​relationsArray of objects or null(ProductRelationResponse)

Collection of related products.

items[].​channelPublicationUuidsArray of strings or null(uuid)

Collection of channel publication UUIDs. Populated when include[channelPublications]=true.

items[].​channelPublicationsArray of objects or null(ProductChannelPublicationResponse)

Collection of channel publications. Populated when expand[channelPublications]=true.

paginationobject(PaginationResult)required
pagination.​pageinteger(int32)required
pagination.​sizeinteger(int32)required
pagination.​totalItemsinteger(int32)required
pagination.​totalPagesinteger(int32)required
Response
application/json
{ "items": [ { … } ], "pagination": { "page": 0, "size": 0, "totalItems": 0, "totalPages": 0 } }

Create a product

Request

Creates a new product. The product is created in draft status.

Security
Bearer
Bodyapplication/jsonrequired
familyUuidstring or null(uuid)

Optional family UUID defining structure and requirements.

parentUuidstring or null(uuid)

Optional parent product UUID for variant relationships.

brandUuidstring or null(uuid)

Optional brand UUID for brand association.

typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

codestring[ 3 .. 100 ] charactersrequired

Unique code identifier for the product.

displayNamestring[ 3 .. 100 ] characters

The display name of the product.

curl -i -X POST \
  https://docs.apiera.io/_mock/openapi/v1/products \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "familyUuid": "0738e3a0-a16e-4b1d-8a18-44d0e84defd1",
    "parentUuid": "a234027b-494b-4285-a8ce-894cd0943051",
    "brandUuid": "b53b8ac7-0b29-4fc4-9034-60a12921bb3d",
    "type": "simple",
    "code": "string",
    "displayName": "string"
  }'

Responses

The created product.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this product.

familyUuidstring or null(uuid)

Identifier of the family defining structure and requirements for this product.

parentUuidstring or null(uuid)

Identifier of the parent product for variant relationships.

brandUuidstring or null(uuid)

Identifier of the brand associated with this product.

createdAtstring(date-time)required

Timestamp when this product was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this product was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this product was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this product was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(ProductStatus)required

Lifecycle status of a product.

Enum ValueDescription
draft

The initial state of the product.

published

The product is visible to consumers.

unpublished

The product is no longer visible to consumers.

archived

The product is archived and no longer in active use.

removed

The product has been soft-deleted.

typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

codestringrequired

Unique code identifier for this product.

displayNamestringrequired

The display name of the product.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "familyUuid": "a1b2c3d4-5678-9012-3456-789012345678", "brandUuid": "b2c3d4e5-6789-0123-4567-890123456789", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "draft", "type": "simple", "code": "classic-tee-black", "displayName": "Classic Tee Black" }

Get a product

Request

Retrieves a single product by its unique identifier.

Security
Bearer
Path
productUuidstring(uuid)required

The unique identifier of the product.

Query
include[productAssets]boolean
expand[productAssets]boolean
include[productAttributes]boolean
expand[productAttributes]boolean
include[productAttributeTerms]boolean
expand[productAttributeTerms]boolean
include[productCategories]boolean
expand[productCategories]boolean
include[productTags]boolean
expand[productTags]boolean
include[productInputValues]boolean
expand[productInputValues]boolean
include[relations]boolean
expand[relations]boolean
include[channelPublications]boolean
expand[channelPublications]boolean
expand[completeness]boolean
Headers
X-Channel-Uuidstring(uuid)
curl -i -X GET \
  'https://docs.apiera.io/_mock/openapi/v1/products/{productUuid}?include%5BproductAssets%5D=true&expand%5BproductAssets%5D=true&include%5BproductAttributes%5D=true&expand%5BproductAttributes%5D=true&include%5BproductAttributeTerms%5D=true&expand%5BproductAttributeTerms%5D=true&include%5BproductCategories%5D=true&expand%5BproductCategories%5D=true&include%5BproductTags%5D=true&expand%5BproductTags%5D=true&include%5BproductInputValues%5D=true&expand%5BproductInputValues%5D=true&include%5Brelations%5D=true&expand%5Brelations%5D=true&include%5BchannelPublications%5D=true&expand%5BchannelPublications%5D=true&expand%5Bcompleteness%5D=true' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'X-Channel-Uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08'

Responses

The requested product.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this product.

familyUuidstring or null(uuid)

Identifier of the family defining structure and requirements for this product.

parentUuidstring or null(uuid)

Identifier of the parent product for variant relationships.

brandUuidstring or null(uuid)

Identifier of the brand associated with this product.

createdAtstring(date-time)required

Timestamp when this product was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this product was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this product was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this product was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(ProductStatus)required

Lifecycle status of a product.

Enum ValueDescription
draft

The initial state of the product.

published

The product is visible to consumers.

unpublished

The product is no longer visible to consumers.

archived

The product is archived and no longer in active use.

removed

The product has been soft-deleted.

typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

codestringrequired

Unique code identifier for this product.

displayNamestringrequired

The display name of the product.

productAssetUuidsArray of strings or null(uuid)

Collection of product-asset junction UUIDs. Populated when include[productAssets]=true.

productAssetsArray of objects or null(ProductAssetResponse)

Collection of product-asset junctions. Populated when expand[productAssets]=true.

productAttributeUuidsArray of strings or null(uuid)

Collection of product-attribute junction UUIDs. Populated when include[productAttributes]=true.

productAttributesArray of objects or null(ProductAttributeResponse)

Collection of product-attribute junctions. Populated when expand[productAttributes]=true.

productAttributeTermUuidsArray of strings or null(uuid)

Collection of product-term junction UUIDs. Populated when include[productAttributeTerms]=true.

productAttributeTermsArray of objects or null(ProductTermResponse)

Collection of product-term junctions. Populated when expand[productAttributeTerms]=true.

productCategoryUuidsArray of strings or null(uuid)

Collection of product-category junction UUIDs. Populated when include[productCategories]=true.

productCategoriesArray of objects or null(ProductCategoryResponse)

Collection of product-category junctions. Populated when expand[productCategories]=true.

productTagUuidsArray of strings or null(uuid)

Collection of product-tag junction UUIDs. Populated when include[productTags]=true.

productTagsArray of objects or null(ProductTagResponse)

Collection of product-tag junctions. Populated when expand[productTags]=true.

productInputValueUuidsArray of strings or null(uuid)required
productInputValuesArray of objects or null(ProductInputValueResponse)required
productInputValues[].​uuidstring(uuid)required

Unique identifier for this input value.

productInputValues[].​productUuidstring(uuid)required

Identifier of the product this value belongs to.

productInputValues[].​typeGroupUuidstring(uuid)required

Identifier of the type group containing the input type.

productInputValues[].​inputTypeUuidstring(uuid)required

Identifier of the input type for this value.

productInputValues[].​channelUuidstring or null(uuid)required

Identifier of the channel for this value. Null for non-scoped values.

productInputValues[].​localeUuidstring or null(uuid)required

Identifier of the locale for this value. Null for non-localized values.

productInputValues[].​createdAtstring(date-time)required

Timestamp when this input value was created.

Example: "2025-11-23T14:15:22.123456Z"
productInputValues[].​updatedAtstring(date-time)required

Timestamp when this input value was last modified.

Example: "2025-11-23T14:15:22.123456Z"
productInputValues[].​valuestringrequired

The input value.

relationUuidsArray of strings or null(uuid)

Collection of relation UUIDs for this product.

relationsArray of objects or null(ProductRelationResponse)

Collection of related products.

channelPublicationUuidsArray of strings or null(uuid)

Collection of channel publication UUIDs. Populated when include[channelPublications]=true.

channelPublicationsArray of objects or null(ProductChannelPublicationResponse)

Collection of channel publications. Populated when expand[channelPublications]=true.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "familyUuid": "a1b2c3d4-5678-9012-3456-789012345678", "brandUuid": "b2c3d4e5-6789-0123-4567-890123456789", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "draft", "type": "simple", "code": "classic-tee-black", "displayName": "Classic Tee Black" }

Update a product

Request

Updates an existing product.

Security
Bearer
Path
productUuidstring(uuid)required

The unique identifier of the product to update.

Bodyapplication/jsonrequired
familyUuidstring or null(uuid)

Updated family UUID. Set to null to remove family association.

brandUuidstring or null(uuid)

Updated brand UUID. Set to null to remove brand association.

codestring or null[ 3 .. 100 ] characters

Updated unique code identifier.

displayNamestring or null[ 3 .. 100 ] characters

Updated display name of the product.

curl -i -X PATCH \
  'https://docs.apiera.io/_mock/openapi/v1/products/{productUuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "familyUuid": "0738e3a0-a16e-4b1d-8a18-44d0e84defd1",
    "brandUuid": "b53b8ac7-0b29-4fc4-9034-60a12921bb3d",
    "code": "string",
    "displayName": "string"
  }'

Responses

The updated product.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this product.

familyUuidstring or null(uuid)

Identifier of the family defining structure and requirements for this product.

parentUuidstring or null(uuid)

Identifier of the parent product for variant relationships.

brandUuidstring or null(uuid)

Identifier of the brand associated with this product.

createdAtstring(date-time)required

Timestamp when this product was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this product was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this product was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this product was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(ProductStatus)required

Lifecycle status of a product.

Enum ValueDescription
draft

The initial state of the product.

published

The product is visible to consumers.

unpublished

The product is no longer visible to consumers.

archived

The product is archived and no longer in active use.

removed

The product has been soft-deleted.

typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

codestringrequired

Unique code identifier for this product.

displayNamestringrequired

The display name of the product.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "familyUuid": "a1b2c3d4-5678-9012-3456-789012345678", "brandUuid": "b2c3d4e5-6789-0123-4567-890123456789", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "draft", "type": "simple", "code": "classic-tee-black", "displayName": "Classic Tee Black" }

Delete a product

Request

Permanently deletes a product.

Security
Bearer
Path
productUuidstring(uuid)required

The unique identifier of the product to delete.

curl -i -X DELETE \
  'https://docs.apiera.io/_mock/openapi/v1/products/{productUuid}' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

The product was successfully deleted.

Response
No content

Bulk create products

Request

Creates multiple products in a single operation.

Security
Bearer
Bodyapplication/jsonrequiredArray [
familyUuidstring or null(uuid)

Optional family UUID defining structure and requirements.

parentUuidstring or null(uuid)

Optional parent product UUID for variant relationships.

brandUuidstring or null(uuid)

Optional brand UUID for brand association.

typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

codestring[ 3 .. 100 ] charactersrequired

Unique code identifier for the product.

displayNamestring[ 3 .. 100 ] characters

The display name of the product.

]
curl -i -X POST \
  https://docs.apiera.io/_mock/openapi/v1/products/bulk \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "familyUuid": "0738e3a0-a16e-4b1d-8a18-44d0e84defd1",
      "parentUuid": "a234027b-494b-4285-a8ce-894cd0943051",
      "brandUuid": "b53b8ac7-0b29-4fc4-9034-60a12921bb3d",
      "type": "simple",
      "code": "string",
      "displayName": "string"
    }
  ]'

Responses

The created products.

Bodyapplication/jsonArray [
uuidstring(uuid)required

Unique identifier for this product.

familyUuidstring or null(uuid)

Identifier of the family defining structure and requirements for this product.

parentUuidstring or null(uuid)

Identifier of the parent product for variant relationships.

brandUuidstring or null(uuid)

Identifier of the brand associated with this product.

createdAtstring(date-time)required

Timestamp when this product was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this product was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this product was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this product was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(ProductStatus)required

Lifecycle status of a product.

Enum ValueDescription
draft

The initial state of the product.

published

The product is visible to consumers.

unpublished

The product is no longer visible to consumers.

archived

The product is archived and no longer in active use.

removed

The product has been soft-deleted.

typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

codestringrequired

Unique code identifier for this product.

displayNamestringrequired

The display name of the product.

]
Response
application/json
[ { "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f", "familyUuid": "0738e3a0-a16e-4b1d-8a18-44d0e84defd1", "parentUuid": "a234027b-494b-4285-a8ce-894cd0943051", "brandUuid": "b53b8ac7-0b29-4fc4-9034-60a12921bb3d", "createdAt": "2025-11-23T14:15:22.123456Z", "updatedAt": "2025-11-23T14:15:22.123456Z", "removedAt": "2025-11-23T14:15:22.123456Z", "archivedAt": "2025-11-23T14:15:22.123456Z", "status": "draft", "type": "simple", "code": "string", "displayName": "string" } ]

Bulk update products

Request

Updates multiple products in a single operation.

Security
Bearer
Bodyapplication/jsonrequiredArray [
uuidstring(uuid)required

Identifier of the product to update.

familyUuidstring or null(uuid)

Updated family UUID.

brandUuidstring or null(uuid)

Updated brand UUID.

codestring or null[ 3 .. 100 ] characters

Updated unique code identifier.

displayNamestring or null[ 3 .. 100 ] characters

Updated display name of the product.

]
curl -i -X PATCH \
  https://docs.apiera.io/_mock/openapi/v1/products/bulk \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '[
    {
      "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
      "familyUuid": "0738e3a0-a16e-4b1d-8a18-44d0e84defd1",
      "brandUuid": "b53b8ac7-0b29-4fc4-9034-60a12921bb3d",
      "code": "string",
      "displayName": "string"
    }
  ]'

Responses

The updated products.

Bodyapplication/jsonArray [
uuidstring(uuid)required

Unique identifier for this product.

familyUuidstring or null(uuid)

Identifier of the family defining structure and requirements for this product.

parentUuidstring or null(uuid)

Identifier of the parent product for variant relationships.

brandUuidstring or null(uuid)

Identifier of the brand associated with this product.

createdAtstring(date-time)required

Timestamp when this product was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this product was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this product was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this product was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(ProductStatus)required

Lifecycle status of a product.

Enum ValueDescription
draft

The initial state of the product.

published

The product is visible to consumers.

unpublished

The product is no longer visible to consumers.

archived

The product is archived and no longer in active use.

removed

The product has been soft-deleted.

typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

codestringrequired

Unique code identifier for this product.

displayNamestringrequired

The display name of the product.

]
Response
application/json
[ { "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f", "familyUuid": "0738e3a0-a16e-4b1d-8a18-44d0e84defd1", "parentUuid": "a234027b-494b-4285-a8ce-894cd0943051", "brandUuid": "b53b8ac7-0b29-4fc4-9034-60a12921bb3d", "createdAt": "2025-11-23T14:15:22.123456Z", "updatedAt": "2025-11-23T14:15:22.123456Z", "removedAt": "2025-11-23T14:15:22.123456Z", "archivedAt": "2025-11-23T14:15:22.123456Z", "status": "draft", "type": "simple", "code": "string", "displayName": "string" } ]

Transition product lifecycle

Request

Transitions a product to a different lifecycle state.

Security
Bearer
Path
productUuidstring(uuid)required

The unique identifier of the product to transition.

Bodyapplication/jsonrequired
transitionstring(ProductTransition)required

Lifecycle transition to apply to a product.

Enum ValueDescription
publish

Publishes the product.

unpublish

Unpublishes the product.

archive

Archives the product.

unarchive

Unarchives the product.

remove

Removes the product.

restore

Restores the product.

curl -i -X PATCH \
  'https://docs.apiera.io/_mock/openapi/v1/products/{productUuid}/actions/lifecycle' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "transition": "publish"
  }'

Responses

The product after the lifecycle transition.

Bodyapplication/json
uuidstring(uuid)required

Unique identifier for this product.

familyUuidstring or null(uuid)

Identifier of the family defining structure and requirements for this product.

parentUuidstring or null(uuid)

Identifier of the parent product for variant relationships.

brandUuidstring or null(uuid)

Identifier of the brand associated with this product.

createdAtstring(date-time)required

Timestamp when this product was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this product was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this product was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this product was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(ProductStatus)required

Lifecycle status of a product.

Enum ValueDescription
draft

The initial state of the product.

published

The product is visible to consumers.

unpublished

The product is no longer visible to consumers.

archived

The product is archived and no longer in active use.

removed

The product has been soft-deleted.

typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

codestringrequired

Unique code identifier for this product.

displayNamestringrequired

The display name of the product.

Response
application/json
{ "uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "familyUuid": "a1b2c3d4-5678-9012-3456-789012345678", "brandUuid": "b2c3d4e5-6789-0123-4567-890123456789", "createdAt": "2025-01-15T10:30:00.000000Z", "updatedAt": "2025-01-15T10:30:00.000000Z", "status": "published", "type": "simple", "code": "classic-tee-black", "displayName": "Classic Tee Black" }

Bulk transition product lifecycle

Request

Transitions multiple products to a different lifecycle state.

Security
Bearer
Bodyapplication/jsonrequired
transitionstring(ProductTransition)required

Lifecycle transition to apply to a product.

Enum ValueDescription
publish

Publishes the product.

unpublish

Unpublishes the product.

archive

Archives the product.

unarchive

Unarchives the product.

remove

Removes the product.

restore

Restores the product.

uuidsArray of strings(uuid)required

List of product identifiers to transition.

curl -i -X PATCH \
  https://docs.apiera.io/_mock/openapi/v1/products/bulk/actions/lifecycle \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "transition": "publish",
    "uuids": [
      "497f6eca-6276-4993-bfeb-53cbbbba6f08"
    ]
  }'

Responses

The products after the lifecycle transition.

Bodyapplication/jsonArray [
uuidstring(uuid)required

Unique identifier for this product.

familyUuidstring or null(uuid)

Identifier of the family defining structure and requirements for this product.

parentUuidstring or null(uuid)

Identifier of the parent product for variant relationships.

brandUuidstring or null(uuid)

Identifier of the brand associated with this product.

createdAtstring(date-time)required

Timestamp when this product was created.

Example: "2025-11-23T14:15:22.123456Z"
updatedAtstring(date-time)required

Timestamp when this product was last modified.

Example: "2025-11-23T14:15:22.123456Z"
removedAtstring or null(date-time)

Timestamp when this product was removed. Null if not removed.

Example: "2025-11-23T14:15:22.123456Z"
archivedAtstring or null(date-time)

Timestamp when this product was archived. Null if not archived.

Example: "2025-11-23T14:15:22.123456Z"
statusstring(ProductStatus)required

Lifecycle status of a product.

Enum ValueDescription
draft

The initial state of the product.

published

The product is visible to consumers.

unpublished

The product is no longer visible to consumers.

archived

The product is archived and no longer in active use.

removed

The product has been soft-deleted.

typestring(ProductType)required

Product type defining variant behavior.

Enum ValueDescription
simple

A standalone product without variants.

variantParent

A parent product that has one or more variants.

variant

A specific variation of a parent product.

codestringrequired

Unique code identifier for this product.

displayNamestringrequired

The display name of the product.

]
Response
application/json
[ { "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f", "familyUuid": "0738e3a0-a16e-4b1d-8a18-44d0e84defd1", "parentUuid": "a234027b-494b-4285-a8ce-894cd0943051", "brandUuid": "b53b8ac7-0b29-4fc4-9034-60a12921bb3d", "createdAt": "2025-11-23T14:15:22.123456Z", "updatedAt": "2025-11-23T14:15:22.123456Z", "removedAt": "2025-11-23T14:15:22.123456Z", "archivedAt": "2025-11-23T14:15:22.123456Z", "status": "draft", "type": "simple", "code": "string", "displayName": "string" } ]

Product Input Values

A product input value holds the actual data entered for a product's input type, optionally scoped to a specific channel and locale.

Operations

Product Relations

A product relation is a typed link between two products, classified by a product relation type.

Operations

Product Relation Types

A product relation type defines a named, directional relationship that can exist between products, supporting both one-way and two-way relations.

Operations

Product Tags

A product tag is an association between a product and a tag, used for flexible cross-cutting classification.

Operations

Product Terms

A product term is an association between a product attribute and a specific term value selected from the attribute's term set.

Operations

Tag Contents

Tag content provides locale-specific labels and descriptions for a tag. Each content entry localizes the tag for a specific locale, enabling multilingual tag presentation.

Operations

Tags

A tag is a lightweight label used to classify and organize products. Tags support localized content through tag content entries.

Operations

Attribute Term Contents

Operations

Attribute Terms

A term defines a discrete value within an attribute, such as Red, Blue, or XL. Terms provide the selectable options used for product filtering and variant differentiation.

Operations

Type Groups

A type group is a logical grouping of input types for a single entity type, such as product specifications or product dimensions. Each type group belongs to one entity type and organizes related input types under a common category.

Operations

Webhook Delivery Attempts

Webhook delivery attempts represent individual HTTP requests made to deliver a webhook event. Each delivery may have multiple attempts with detailed response information.

Operations

Webhook Deliveries

Webhook deliveries represent individual delivery attempts of webhook events to a subscription's target URL. Deliveries are read-only and provide visibility into delivery status and retry history.

Operations

Webhook Event Types

Webhook event types represent the types of events that can trigger webhook deliveries. These are platform-managed and available as read-only to all authenticated users.

Operations

Webhook Subscriptions

A webhook subscription defines a target URL that receives HTTP callbacks when specific events occur in the system. Subscriptions can be activated, deactivated, and configured with specific event types to listen for.

Operations

Webhook Subscription Event Types

Webhook subscription event types define which event types a webhook subscription listens for. Adding an event type to a subscription means the subscription will receive callbacks when that event occurs.

Operations