Product Information Management (2.0.0)

Download OpenAPI specification:Download

As brands and retailers grow, they often expand their product catalogs, resulting in the need to enrich and manage more product data. fabric product information management (PIM) solution alleviates the burden of managing large amounts of product data by means of a central storage repository. fabric PIM helps you with improved data quality, consistent customer experience, reduced time to market, easy integration with external systems, reduced management costs and risks, faster and easier updates, and easy scaling. You can create, import, enrich, validate, distribute, and manage complex product information, centrally. As a result, you deliver product experiences that drive sales through every channel.

During onboarding, you are given the necessary credentials to access PIM - Copilot UI, APIs, or both. As a prerequisite, you create a list of products to be sold, identify their unique as well as common properties, and envision their organization into categories and sub categories. A basic workflow is:
1) Create product attributes using POST /v1/product/attribute/bulk.
2) Map your product attributes to attributes available in PIM, via Copilot UI.
3) Create Primary category using the POST /v1/category to create the original organizational structure.
4) Assign product attributes to Primary category using POST /v1/category/item-attribute.
5) Create products using POST /v1/product/bulk/insert.
6) Create Alternate category, for distribution management and fulfilling various merchandising objectives.

Category

Categories (also called hierarchies or nodes) are hierarchical structures to organize products and services into intuitive groups. Organizing products in this way simplifies product discovery and lifecycle management. There are two types of categories - Primary and Alternate. They enable you to create, organize, and distribute product data.

- Primary category is the original catalog tree with nested levels of categories that place each product where it belongs, within a category. For example, Computers is a parent category with Laptops and Desktops as child categories, and MacBbook Pro is a product within Laptops. This organization can be represented as Computers > Laptops > MacBook Pro.

- Alternate categories serve as alternate organizations of the Primary category. Their main purpose is distribution management by displaying products on your website based on separate browsing structure configurations you set to help you achieve various merchandizing objectives, such as organizational requirements, multi-regional assortments, multi-channel assortments, and collections. For example, a company that sells, repairs, and supports computers and related products and services will have a Primary category containing a full list of their SKUs. However, this Primary category is not granular enough to use on their storefront. Hence, multiple Alternate hierarchies are created to target specific shopper segment experiences. For laptop consumers they'll have one Alternate category, which lists all the laptops and PCs. For large businesses they'll have another Alternate category, which lists all commercial laptops, PCs, printers, and servers. Both of the Alternate categories act as filters of the Primary category, tailored to the purpose of that merchandising strategy.

Category, a subset of PIM endpoints, aims to simplify catalog management by letting you create, update, and get one or more categories, category attributes, and product attributes. In addition, you can add and update category sources, source exclusions, and product attribute conditions.

Create category

Creates Primary or Alternate category to organize products into logical groups.
Note:
1) To add Primary category, only name is required in the request.
2) To add a child category, both name and parentNodeId are required. For child category, you can additionally specify order of display.
3) To add an Alternate category, both name and type are required.
Note: Category details including category ID received in the response are required for subsequent calls. For example, it's required to Create product (POST /v1/product/bulk/insert).

Securityapi_key
Request
header Parameters
x-api-key
string

Allows access to the endpoint without the need for Authorization. This key can be provided to you only by fabric Inc, upon request.

object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
name
required
string

Category name

active
boolean

true: Category is Active
false: Category is Inactive
Note: When type is Primary, status must be Active. Inactive status is not applicable for Primary category.

parentNodeId
number

Human-readable numeric ID of parent category. If omitted, new category is created under the root category.

order
number

The order in which this child category appears among the sibling categories (of the same parent).
Note:
1) Applicable only for child categories.
2) Order 0 means this child category appears at the beginning of other sibling categories.
3) Unless order is specified, the child category appears at the end.

type
string

Category type. Specify this field to create a new root category. Applicable only if parentNodeId is omitted.

Enum: "ALTERNATE" "PRIMARY"
Responses
200

OK

400

Client error

500

Internal server error

post/v1/category
Request samples
application/json
{
  • "name": "notes",
  • "active": true,
  • "parentNodeId": 1,
  • "order": 3,
  • "type": "ALTERNATE"
}
Response samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "createdOn": "2021-12-01T00:00:00.000Z",
  • "modifiedOn": "2021-12-01T00:00:00.000Z",
  • "attributes": [
    ],
  • "children": [
    ],
  • "breadcrumbs": [
    ]
}

Get categories

Lists categories and their details including attributes, breadcrumbs, and details of child categories.
Note:
1) Specify ids or nodeIds to get specific categories.
2) Use type to get a specific category type.
3) When query parameters are omitted, this endpoint returns a paginated response listing all Alternate categories in Active status. As a result, size and page becomes mandatory to support large data.

Request
query Parameters
ids
Array of strings

List of 24-character system-generated category IDs. If ids and nodeIds are omitted, this endpoint returns all Alternate categories in Active status. As a result, size and page becomes mandatory to accommodate large data.

Example: ids=6196b45b5cb04b7ce167cb46&ids=7196b45b5cb04b7ce167cb45
nodeIds
Array of numbers

List of human-readable numeric category IDs. When ids and nodeIds are omitted, size and page becomes applicable to support pagination.

Example: nodeIds=123&nodeIds=234
keyword
string

Keywords to search for categories. Returns a pagination response. As a result, size and page becomes applicable to support large data.

Example: keyword=computers
type
string

Category type.
Note: If omitted, returns ALTERNATE categories by default.

Enum: "PRIMARY" "ALTERNATE" "ALL"
Example: type=ALL
status
string

Category status.
Note: If omitted, returns Alternate categories in Active status by default.
Note: When type is Primary, status must be Active. Inactive status is not applicable for Primary category.

Enum: "ACTIVE" "INACTIVE" "ALL"
Example: status=ALL
page
number

Page number to be retrieved.
Note:
1) Applicable only in a paginated response.
2) Always paired with size
3) No default value set. Unless a value is specified, endpoint returns an error.

Example: page=1
size
number

Number of records per page
Note:
1) Always paired with page
2) Applicable only in a paginated response
3) No default value set. Unless a value is specified, endpoint returns an error.

Example: size=10
header Parameters
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/category
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "categories": [
    ]
}

Modify category

Updates category details such as name, parent, and its order of appearance amongst sibling categories.

Securityapi_key
Request
path Parameters
nodeId
required
number

Human-readable numeric category ID

Example: 1204
header Parameters
x-api-key
string

Allows access to the endpoint without the need for Authorization. This key can be provided to you only by fabric Inc, upon request.

object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
name
required
string

Category name

active
boolean

true: Category is Active
false: Category is Inactive
Note: Inactive status is not applicable for Primary category.

parentNodeId
number

Human-readable numeric ID of parent category, for external users

order
number

Position of this category amongst sibling categories within the same parent category

Responses
200

OK

400

Client error

500

Internal server error

put/v1/category/{nodeId}
Request samples
application/json
{
  • "name": "Furniture",
  • "active": true,
  • "parentNodeId": 1,
  • "order": 3
}
Response samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "createdOn": "2021-12-01T00:00:00.000Z",
  • "modifiedOn": "2021-12-01T00:00:00.000Z",
  • "attributes": [
    ],
  • "children": [
    ],
  • "breadcrumbs": [
    ]
}

Find categories

Finds categories, by keywords, category identifiers, type, or status.
Note:
1) Categories and child categories must already exist in the system.
2) When query parameters are omitted, this endpoint returns a paginated response with all the categories. As a result, page and size become mandatory to accommodate large data.
3) GET /v1/category (Store admin context) or Algolia search (Shopper context) is strongly recommended over this endpoint.

Request
query Parameters
keyword
string

Keywords to search for categories. The response is paginated. As a result, page and size becomes mandatory to accommodate large data.

Example: keyword=computers
ids
Array of strings

List of 24-characters system-generated category IDs. If ids and nodeIds are omitted, this endpoint returns a paginated response. As a result, page and size becomes mandatory to accommodate large data.

Example: ids=6196b45b5cb04b7ce167cb46&ids=7196b45b5cb04b7ce167cb47
nodeIds
Array of numbers

List of human-readable numeric category ID. If ids and nodeIds are omitted, this endpoint returns a paginated response. As a result, page and size becomes mandatory to accommodate large data.

Example: nodeIds=15&nodeIds=16
type
string

Category type.
Note: If omitted, returns a paginated response with ALL categories. As a result, page and size becomes mandatory to support large data.

Enum: "PRIMARY" "ALTERNATE" "ALL"
Example: type=ALL
status
string

Category status. If omitted, returns a paginated response of categories in ACTIVE status. As a result, page and size becomes mandatory to support large data.
Note: When type is Primary, status must be Active. Inactive status is not applicable for Primary category.

Enum: "ACTIVE" "INACTIVE" "ALL"
Example: status=ALL
page
number

Page number to be retrieved.
Note:
1) Applicable only in a paginated response.
2) Always paired with size
3) No default value set. Unless a value is specified, endpoint returns an error.

Example: page=1
size
number

Number of records per page
Note:
1) Always paired with page
2) Applicable only in a paginated response
3) No default value set. Unless a value is specified, endpoint returns an error.

Example: size=10
header Parameters
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/category/search
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "categories": [
    ]
}

Get category tree

Hierarchy of parent and children categories form a tree structure. This endpoint returns a tree of categories rooted in the category identified by id or nodeId.
Note:
1) If parent category does not exist in the system, you'll get a 404 - Not found error
2) If a child category does not exist for the given parent, you'll get a success response but children property will show a blank array.

Request
query Parameters
id
string

24-character system-generated ID of root category. Either id or nodeId must be specified.

Example: id=6196b44a5cb04b7ce167cb34
nodeId
integer

Human-readable numeric category ID. Either id or nodeId must be specified.

Example: nodeId=12
depth
number

Limits the size of the hierarchical category tree returned in the response. Depth of 0 means no child categories, attributes, or breadcrumbs, are included in the response. Unless depth is specified, entire category is returned up to the last set of child categories (that have no more child categories).

Example: depth=1
header Parameters
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/category/tree
Response samples
application/json
{
  • "id": "6196b45b5cb04b7ce167cb46",
  • "nodeId": 16,
  • "name": "PCs",
  • "hierarchy": "ALTERNATE",
  • "isActive": true,
  • "attributes": [
    ],
  • "children": [
    ],
  • "createdOn": "2022-03-09T23:37:54.086Z",
  • "modifiedOn": "2022-03-09T23:37:54.086Z"
}

Get SKUs in a category

Gets SKUs of all products belonging to a category.
Note:
1) To get SKUs, Algolia search is recommended over this endpoint.
2) Categories must exist in the system to get SKUs in that category. If SKUs are not created in the given category ID, this endpoint returns an empty list.

Request
query Parameters
id
string

24-character system-generated category ID. Either id or nodeId must be specified.

Example: id=6196b45b5cb04b7ce167cb46
nodeId
integer

Human-readable numeric category ID. Either id or nodeId must be specified.

Example: nodeId=2
page
number

Page number to be retrieved.
Note:
1) Applicable only in a paginated response.
2) Always paired with size
3) No default value set. Unless a value is specified, endpoint returns an error.

Example: page=1
size
number

Number of records per page
Note:
1) Always paired with page
2) Applicable only in a paginated response
3) No default value set. Unless a value is specified, endpoint returns an error.

Example: size=10
header Parameters
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/category/sku
Response samples
application/json
{
  • "totalSize": 3,
  • "pageSize": 10,
  • "pages": 1,
  • "id": "6196b45b5cb04b7ce167cb46",
  • "nodeId": 2,
  • "name": "electronics",
  • "skus": [
    ]
}

Create, update, and delete attributes of a category

Category attributes let you define characteristics of categories and child categories.
This endpoint creates, updates, or removes attributes of a single category. The primary purpose is to assign attributes.

Securityapi_key
Request
header Parameters
x-api-key
string

Allows access to the endpoint without the need for Authorization. This key can be provided to you only by fabric Inc, upon request.

object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
id
string

24-character system-generated category ID. nodeId and id are the two identifier of a category, and one of them must be specified.

nodeId
number

Human-readable numeric ID of category. nodeId and id are the two identifier of a category, and one of them must be specified.

required
Array of objects

Details of category attributes

Responses
200

OK

400

Client error

500

Internal server error

post/v1/category/attribute
Request samples
application/json
{
  • "id": "6196b45b5cb04b7ce167cb46",
  • "nodeId": 25,
  • "attributes": [
    ]
}
Response samples
application/json
{
  • "id": "6196b45b5cb04b7ce167cb46",
  • "nodeId": 25,
  • "name": "notes",
  • "attributes": [
    ]
}

Get category attributes

Gets all attributes of a category.
Note:
Get category endpoint (GET /v1/category) returns categories, their attributes, child categories, and breadcrumb details. So, this endpoint is recommended if you have a category ID and only require its attributes.

Request
query Parameters
id
string

24-character system-generated category ID. Either id or nodeId must be specified.

Example: id=619a8ba6f1875f6dbcaf0521
nodeId
integer

Human-readable numeric category ID. Either nodeId or id must be specified.

Example: nodeId=2
status
string

Attribute status. When id or nodeId is specified along with status = Assigned, the response is faster because the data is fetched from cache. When the status is Unassigned, the data is fetched from the DB and the response could take longer.

Enum: "ASSIGNED" "UNASSIGNED"
Example: status=ASSIGNED
page
required
number

Page number to be retrieved. Applicable only in a paginated response and always paired with size.

Example: page=1
size
required
number

Number of records per page. Applicable only in a paginated response and always paired with page.

Example: size=10
header Parameters
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/category/attribute
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "id": "619a8ba6f1875f6dbcaf0521",
  • "nodeId": 2,
  • "name": "electronics",
  • "attributes": [
    ]
}

Create, update, or delete category attributes

Creates, updates, and deletes category attributes. The primary purpose is to create and edit the attributes to be assigned to categories.
Note: They are generic category attributes and not specific to a category.

Securityapi_key
Request
header Parameters
x-api-key
string

Allows access to the endpoint without the need for Authorization. This key can be provided to you only by fabric Inc, upon request.

object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
Array
action
required
string

Action type.
Note:
1) Attribute ID is required only for UPDATE and DELETE actions (not for CREATE).
2) CREATE action replaces any existing category attribute with the same name.

Enum: "CREATE" "UPDATE" "DELETE"
id
string

24-character system-generated attribute ID

name
required
string

Attribute name

description
string

Accurate description of the attribute and what it represents

type
required
string

Supported attribute types for the attribute

Enum: "TEXT" "BOOLEAN" "SERIAL" "DECIMAL" "INTEGER" "DATETIME" "OPTIONS"
textSubType
string

Conditionally required for TEXT attribute type

Enum: "SMALL_TEXT" "TEXT_AREA" "HTML"
serialStart
number

Conditionally required to indicate the starting value of SERIAL attribute type. When enabled, the subsequent attribute values increment by 1.

optionsType
string

Conditionally required to indicate the selectable values for OPTIONS attribute type

Enum: "TEXT" "BOOLEAN" "DECIMAL" "INTEGER" "DATETIME"
format
string

Attribute format. Currently used only for DATETIME attribute type.

formula
string

JavaScript expression to dynamically compute the attribute value. The data type returned by this expression must match the attribute's data type.
Note: When this is provided, validation is ignored.

object
Responses
200

OK

400

Client error

500

Internal server error

post/v1/category/attribute/bulk
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "attributes": {
    }
}

Create, update, and remove product attributes for a category

Categories lets merchants segregate and group items. They also allow specifying 'mandatory' and 'optional' attributes that all products (aka items) within that category must have. They are used to store structured information about products.
This endpoint creates and updates (also deletes) product attributes for the specified category.

Securityapi_key
Request
header Parameters
x-api-key
string

Allows access to the endpoint without the need for Authorization. This key can be provided to you only by fabric Inc, upon request.

object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
id
string

24-character system-generated category ID. nodeId and id are the two identifier of a category, and one of them must be specified.

nodeId
number

Human-readable numeric ID of category. nodeId and id are the two identifier of a category, and one of them must be specified.

required
Array of objects

Product attributes within a category

Responses
200

OK

400

Client error

500

Internal server error

post/v1/category/item-attribute
Request samples
application/json
{
  • "id": "619a8ba6f1875f6dbcaf0521",
  • "nodeId": 25,
  • "itemAttributes": [
    ]
}
Response samples
application/json
{
  • "id": "619a8ba6f1875f6dbcaf0521",
  • "nodeId": 25,
  • "name": "electronics",
  • "itemAttributes": [
    ]
}

Get available product attributes

Gets all the product (aka item) attributes for the specified category.
Note: Products may also inherit product attributes from parent categories.

Request
query Parameters
id
string

24-character system-generated category ID. id and nodeId are the two identifiers of a category.
Note: If id is specified, status must be specified as well.

Example: id=6196b45b5cb04b7ce167cb46
nodeId
number

Human-readable category ID. id and nodeId are the two identifiers of a category.
Note: If nodeId is specified, status must be specified as well.

Example: nodeId=25
status
string

Status of product attributes. Assigned indicates the product attributes are already assigned to categories and unassigned indicates otherwise. Applicable only when id or nodeId is specified.

Enum: "ASSIGNED" "UNASSIGNED"
page
required
number

Page number to be retrieved. Applicable only in a paginated response and always paired with size.

Example: page=1
size
required
number

Number of records per page. Applicable only in a paginated response and always paired with page.

Example: size=10
header Parameters
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/category/item-attribute
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "itemAttributes": [
    ]
}

Create and update category sources

Creates and updates category sources.
Primary category is the original catalog tree consisting of nested levels of child categories and is used to place products where they belong. Alternate categories are dynamic and populated from the Primary category, which is the original source of items. Source for an Alternate category points to a Primary category, and makes all products in the Primary category appear within the Alternate category; it behaves like a symlink.

Securityapi_key
Request
header Parameters
x-api-key
string

Allows access to the endpoint without the need for Authorization. This key can be provided to you only by fabric Inc, upon request.

object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
id
string

24-character system-generated category ID. nodeId and id are the two identifier of a category, and one of them must be specified.

nodeId
number

Human-readable numeric ID of category. nodeId and id are the two identifier of a category, and one of them must be specified.

Array of objects
Responses
200

OK

400

client error

500

Internal server error

post/v1/category/source
Request samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "sources": [
    ]
}
Response samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "sources": [
    ],
  • "sourceExclusions": [
    ]
}

Get available category sources

Gets all the available category sources.
Products are created under the Primary category, and Alternate categories are created to export alternate organizations of the Primary category. So, the Primary category is the source of products that appear in Alternate categories. The category sources are Primary categories that can be used as product sources in Alternate categories. Sources behave similar to symlinks.

Request
query Parameters
id
string

24-character system-generated category ID. id and nodeId are the two identifiers of a category and one of them must be specified.

Example: id=6170135a49b4af38190970fe
nodeId
number

Human-readable numeric category ID. id and nodeId are the two identifiers of a category and one of them must be specified.

Example: nodeId=12
status
string

Status of Category source. If omitted, 'ASSIGNED' status is used as default.

Enum: "ASSIGNED" "UNASSIGNED"
Example: status=ASSIGNED
page
required
number

Page number to be retrieved. Applicable only in a paginated response and always paired with size.

Example: page=1
size
required
number

Number of records per page. Applicable only in a paginated response and always paired with page.

Example: size=10
header Parameters
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/category/source
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "sources": [
    ]
}

Create and update category source exclusions

Creates and updates exclusions for category source, by ID. For example, a category source 'Electronics' has Laptop, Mobile, and Tablet as child categories. It's possible to exclude Tablet using this endpoint, so that it does not appear for shoppers.

Securityapi_key
Request
header Parameters
x-api-key
string

Allows access to the endpoint without the need for Authorization. This key can be provided to you only by fabric Inc, upon request.

object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
id
string

24-character system-generated category ID. nodeId and id are the two identifier of a category, and one of them must be specified.

nodeId
number

Human-readable numeric ID of category. nodeId and id are the two identifier of a category, and one of them must be specified.

Array of objects
Responses
200

OK

400

Client error

500

Internal server error

post/v1/category/source/exclusion
Request samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "sourceExclusions": [
    ]
}
Response samples
application/json
{
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "sources": [
    ],
  • "sourceExclusions": [
    ]
}

Get available category source exclusions

Gets available exclusions applied to a category source.

Request
query Parameters
id
string

24-character system-generated category ID. id and nodeId are the two identifiers of a category and one of them must be specified.

nodeId
number

Human-readable numeric category ID. id and nodeId are the two identifiers of a category and one of them must be specified.

status
string

Status of category source.
Note: If omitted, 'ASSIGNED' status is used by default.

Enum: "ASSIGNED" "UNASSIGNED"
Example: status=ASSIGNED
page
required
number

Page number to be retrieved. Applicable only in a paginated response and always paired with size.

Example: page=1
size
required
number

Number of records per page. Applicable only in a paginated response and always paired with page.

Example: size=10
header Parameters
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/category/source/exclusion
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "id": "6170135a49b4af38190970fe",
  • "nodeId": 12,
  • "name": "Furniture",
  • "sourceExclusions": [
    ]
}

Create or update product attribute conditions

Creates or updates conditions for product attributes so that products can be filtered based on these conditions, from an Alternate category.
For example, a Primary category called Chairs has three chairs of different materials. An Alternate category called Wooden Chairs with Primary category Chairs as source will list all the three chairs. Through this endpoint you can add a 'product attribute condition' to filter chairs made of wood from Wooden Chairs. Another example: Using this endpoint, you can combine categories and list items on sale (where sale attribute is true).

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

Allows access to the endpoint without the need for Authorization. This key can be provided to you only by fabric Inc, upon request.

object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
id
string

24-character system-generated category ID. nodeId and id are the two identifier of a category, and one of them must be specified.

nodeId
number

Human-readable numeric ID of category. nodeId and id are the two identifier of a category, and one of them must be specified.

Array of objects

Details of conditions set or unset

Responses
200

OK

400

Client error

500

Internal server error

post/v1/category/item-attribute/condition
Request samples
application/json
{
  • "id": "6196b45b5cb04b7ce167cb46",
  • "nodeId": 25,
  • "itemAttributeConditions": [
    ]
}
Response samples
application/json
{
  • "id": "619a8ba6f1875f6dbcaf0521",
  • "nodeId": 25,
  • "itemAttributeConditions": [
    ]
}

Get available conditions for product attribute

You can filter products from Alternate categories based on the conditions set using the POST /v1/category/item-attribute/condition endpoint.
Note: Products may inherit conditions from parent category as well.

Securityapi_key
Request
query Parameters
id
string

24-character system-generated category ID. id and nodeId are the two identifiers of a category, and one of them must be specified.

Example: id=6196b45b5cb04b7ce167cb46
nodeId
number

Human-readable numeric category ID. id and nodeId are the two identifiers of a category, and one of them must be specified.

Example: nodeId=25
status
string

Status of product attribute

Enum: "ASSIGNED" "UNASSIGNED"
Example: status=ASSIGNED
page
required
number

Page number to be retrieved. Applicable only in a paginated response and always paired with size.

Example: page=1
size
required
number

Number of records per page. Applicable only in a paginated response and always paired with page.

Example: size=10
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
x-api-key
string

Allows access to the endpoint without the need for Authorization. This key can be provided to you only by fabric Inc, upon request.

object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/category/item-attribute/condition
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "id": "6196b45b5cb04b7ce167cb46",
  • "nodeId": 25,
  • "name": "electronics",
  • "itemAttributeConditions": [
    ]
}

Product

Product, a subset of PIM endpoints, aims at making product management more efficient. They create, update, and get products, which may be individual products or collection of products (called bundles). Each product has title, product ID, description, category, and assigned attributes. Multiple options of a given product become variants of that product. For example, a t-shirt with three sizes may have small, medium, and large variants. Each variant has its own product ID, attributes, and other data points. Each variant is nested under its parent product, allowing the different options to appear on the same product page. You can also create or update one or more product attributes and attribute groups.

Create products and bundles

Creates multiple products or bundles along with their attributes. In addition, this endpoint supports data validation to ensure accuracy and consistency.
Note:
1) As a prerequisite category and attributes must be created beforehand.
2) To add a product variant, parentSku must be additionally specified.
3) A product is assigned to only one category but it can be fetched from alternate categories.
4) Up to 50 products or bundles can be added.

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
Array (<= 50 items)
sku
required
string

Stock Keeping Unit (SKU), a unique identifier of a product

type
required
string

Product type

Enum: "ITEM" "BUNDLE"
nodeName
required
string

Category name (along with parent category names) for which the product must be created.

parentSku
string

Stock Keeping Unit (SKU), a unique identifier of parent product

Array of AttributeValue (object) or AttributeValueFrenchLocale (object)

Attribute details

Array of objects (InheritItemAttributesInsert)
Array of objects (BundleItems)

List of products to be added to a bundle. Includes SKU and product quantity.

Responses
200

OK

400

Client error

422

Failing items

500

Internal server error

post/v1/product/bulk/insert
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "success": [
    ],
  • "failed": [
    ],
  • "itemIds": [
    ]
}

Update products and bundles

Updates multiple products or bundles, along with their attributes.
Note: Up to 50 products or bundles can be updated.

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
skus
Array of strings <= 50 items

List of Stock Keeping Units (SKUs)

type
string

Product type - Bundle or Item

action
string

Action type

parentSku
string

Stock Keeping Unit (SKU) of parent product

Array of AttributeValue (object) or AttributeValueFrenchLocale (object)
Array of objects (InheritItemAttributesUpdate)
Responses
200

OK

400

Client error

422

Failing items

500

Internal server error

post/v1/product/bulk/update
Request samples
application/json
{
  • "skus": [
    ],
  • "type": "ITEM",
  • "action": "UPDATE",
  • "parentSku": "sku234",
  • "attributeValues": [
    ],
  • "inheritedAttributes": [
    ]
}
Response samples
application/json
{
  • "success": [
    ],
  • "failed": [
    ],
  • "itemIds": [
    ]
}

Upsert products or bundles

Creates or updates products or bundles along with their attributes.
Note:
1) If the SKU already exists, this endpoint updates a product. Otherwise, creates a new product with that SKU.
2) Up to 50 products or bundles can be added or updated.

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
Array (<= 50 items)
sku
required
string

Stock Keeping Unit (SKU), a unique identifier of a product

type
required
string

Product type

Enum: "ITEM" "BUNDLE"
nodeName
required
string

Category name (along with parent category names) for which the product must be created.

parentSku
string

Stock Keeping Unit (SKU), a unique identifier of parent product

Array of AttributeValue (object) or AttributeValueFrenchLocale (object)

Attribute details

Array of objects (InheritItemAttributesInsert)
Array of objects (BundleItems)

List of products to be added to a bundle. Includes SKU and product quantity.

Responses
200

OK

400

Client error

422

Failing items

500

Internal server error

post/v1/product/bulk/upsert
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "success": [
    ],
  • "failed": [
    ],
  • "itemIds": [
    ]
}

Update bundles

Adds and removes items, and also changes quantities within a bundle.

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
action
string

Action type

Value: "UPDATE"
Array of objects
Responses
200

OK

400

Client error

500

Internal server error

post/v1/product/bundle/update
Request samples
application/json
{
  • "action": "UPDATE",
  • "bundles": [
    ]
}
Response samples
application/json
[
  • {
    }
]

Create and update attributes for multiple products

Product attributes allow you to define specific characteristics for your items. Common examples of attributes include size, color, and material. Well-defined attributes are important because they enable product discovery and make catalog management easier.
This endpoint creates and updates product attributes to be assigned later.
Note:
1) You can add and manage unlimited attributes for your products. Once they are created, they appear as a selectable option on product pages.
2) In addition, you can assign attributes to products on an individual level or in bulk.

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
Array
action
string

Action to perform. id is required only for UPDATE, or DELETE (not for CREATE).
Note: CREATE action replaces any existing product attribute with the same name, if one already exists.

Enum: "CREATE" "UPDATE" "DELETE"
id
string

24-character system-generated attribute ID

name
string

Attribute name, which is visible on all relevant PIM pages.

Array of objects
description
string

Attribute description

mapping
string

Attribute mapping of product. This corresponds to the Attribute Mapping settings of PIM: sku, title, image, active, isVariant.
Note: Most attributes do not have a mapping, in which case this will be null.
Warning: Exercise caution while adding or removing mappings of attributes, as it could lead to bad data.

type
string

Attribute type

Enum: "TEXT" "BOOLEAN" "SERIAL" "DECIMAL" "INTEGER" "DATETIME" "OPTIONS"
textSubType
string

Conditionally required sub-type for TEXT attribute type

Enum: "SMALL_TEXT" "TEXT_AREA" "HTML"
serialStart
number

Conditionally required to indicate the starting value of SERIAL attribute type. When enabled, the subsequent attribute values increment by 1.

optionsType
string

Conditionally required to indicate the selectable values for the OPTIONS attribute type

Enum: "TEXT" "BOOLEAN" "DECIMAL" "INTEGER" "DATETIME"
format
string

Attribute format. Currently used only for the attribute type DATETIME.

formula
string

JavaScript expression to dynamically compute the attribute's value. The type returned must match the attribute's type. If the attribute is weight, this formula helps calculate the weight.
Note: When this is provided, validation is ignored.

object
Responses
200

OK

400

Client error.

500

Internal server error

post/v1/product/attribute/bulk
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "attributes": {
    }
}

Create, update, or delete attribute groups

Attribute groups enables merchants to collect various attributes together to make it easier to manage large volume of product information.
This endpoint creates, updates, or deletes attribute groups.
Note: Attribute group is optional. If created, must have at least one attribute.

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
transactional
required
boolean

true: All updates succeed or fail as a unit
false: Some can succeed or fail

Array of objects
Responses
200

OK

400

Client error

500

Internal server error

post/v1/product/attribute-group
Request samples
application/json
{
  • "transactional": true,
  • "attributeGroup": [
    ]
}
Response samples
application/json
[
  • {
    }
]

Find attribute groups

Finds attribute groups

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
page
number

Page number to be retrieved

size
number

Number of records (attribute groups) per page

object
object
Array of objects
Responses
200

OK

400

Client error

500

Internal server error

post/v1/product/attribute-group/search
Request samples
application/json
{
  • "page": 0,
  • "size": 10,
  • "include": {
    },
  • "match": {
    },
  • "sort": [
    ]
}
Response samples
application/json
{
  • "totalSize": 7,
  • "pageSize": 10,
  • "pages": 1,
  • "attributeGroups": [
    ]
}

Get products

Products can be individual products or a bundle of products. This endpoints allows you to get a list of products - individual products and product bundles, along with their attributes, child products and their details.
Note: Optional filter parameters can be passed in as query to narrow down the search results.

Request
query Parameters
skus
Array of strings

List of Stock Keeping Units (SKUs).
Note: Either skus or itemIds can be used to get specific products. If they are omitted, all products are returned in a paginated response. As a result, page and size become mandatory to accommodate large data.

Example: skus=BUNDLE-01&skus=BUNDLE-02
itemIds
Array of numbers

List of item IDs. Applicable only when skus are omitted.
Note: Either skus or itemIds can be used to get specific products. If they are omitted, all products are returned in a paginated response. As a result, page and size become mandatory to accommodate large data.

Example: itemIds=4&itemIds=5
page
number

Page number to be retrieved. Applicable only in a paginated response and always paired with size.

Example: page=1
size
number

Number of records per page. Applicable only in a paginated response and always paired with page.

Example: size=10
status
string

Product status.
Note:
1) Returns a paginated response.
2) When used as the only criteria, must be paired with size and page to accommodate large data.

Enum: "ACTIVE" "INACTIVE"
Example: status=ACTIVE
createdAfter
string

Lists items created after a specific date. Valid date formats are 'YYYY/MM/DD', 'YYYY-MM-DDTHH:mm:ss.SSSZ'.
Note:
1) Applicable only when skus and itemIds are omitted
2) Returns paginated response
3) Must be paired with size and page to accommodate large data

Example: createdAfter=2021-05-28T16:36:50.055Z
createdBefore
string

Lists items created before a specific date. Valid date formats are 'YYYY/MM/DD', 'YYYY-MM-DDTHH:mm:ss.SSSZ'.
Note:
1) Applicable only when skus and itemIds are omitted
2) Returns paginated response
3) Must be paired with size and page to accommodate large data

Example: createdBefore=2021-05-28T16:36:50.055Z
modifiedAfter
string

Lists items modified after a specific date. Valid date formats are 'YYYY/MM/DD', 'YYYY-MM-DDTHH:mm:ss.SSSZ'.
Note:
1) Applicable only when skus or itemIds are omitted
2) Returns paginated response
3) Must be paired with size and page to accommodate large data

Example: modifiedAfter=2021-05-28T16:36:50.055Z
modifiedBefore
string

Gets items modified before a specific date. Valid date formats are 'YYYY/MM/DD', 'YYYY-MM-DDTHH:mm:ss.SSSZ'.
Note:
1) Applicable only when skus and itemIds are omitted
2) Returns paginated response
3) Must be paired with size and page to accommodate large data

Example: modifiedBefore=2021-05-28T16:36:50.055Z
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/product
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "products": [
    ]
}

Get products by SKU, itemId or parentSku

Gets products (individual product or bundle of products) by SKUs, itemIds or parentSkus. Optionally, page and size can be used query parameters. Note: status and date query parameters works only with pagination when parentSku is omitted. Separate responses are added for bundle and product, use the dropdown to view the corresponding response.

Request
query Parameters
skus
Array of strings

List of Stock Keeping Units (SKUs).
Note: Either skus or itemIds can be used to get specific products. If they are omitted, all products are returned in a paginated response. As a result, page and size become mandatory to accommodate large data.

Example: skus=BUNDLE-01&skus=BUNDLE-02
itemIds
Array of numbers

List of item IDs. Applicable only when skus are omitted.
Note: Either skus or itemIds can be used to get specific products. If they are omitted, all products are returned in a paginated response. As a result, page and size become mandatory to accommodate large data.

Example: itemIds=4&itemIds=5
page
number

Page number to be retrieved. Applicable only in a paginated response and always paired with size.

Example: page=1
size
number

Number of records per page. Applicable only in a paginated response and always paired with page.

Example: size=10
status
string

Product status.
Note:
1) Returns a paginated response.
2) When used as the only criteria, must be paired with size and page to accommodate large data.

Enum: "ACTIVE" "INACTIVE"
Example: status=ACTIVE
type
string

Item type. Note: Set page and size to use this filter.

Enum: "ITEM" "BUNDLE"
createdAfter
string

List of products created after a specific date. Valid date formats are 'YYYY/MM/DD', 'YYYY-MM-DDTHH:mm:ss.SSSZ'.
Note:
1) Applicable only when skus and itemIds are omitted
2) Returns paginated response
3) Must be paired with size and page to accommodate large data

Example: createdAfter=2021-05-28T16:36:50.055Z
createdBefore
string

List of products created before a specific date. Valid date formats are 'YYYY/MM/DD', 'YYYY-MM-DDTHH:mm:ss.SSSZ'.
Note:
1) Applicable only when skus and itemIds are omitted
2) Returns paginated response
3) Must be paired with size and page to accommodate large data

Example: createdBefore=2021-05-28T16:36:50.055Z
modifiedAfter
string

List of products modified after a specific date. Valid date formats are 'YYYY/MM/DD', 'YYYY-MM-DDTHH:mm:ss.SSSZ'.
Note:
1) Applicable only when skus or itemIds are omitted
2) Returns paginated response
3) Must be paired with size and page to accommodate large data

Example: modifiedAfter=2021-05-28T16:36:50.055Z
modifiedBefore
string

List of products modified before a specific date. Valid date formats are 'YYYY/MM/DD', 'YYYY-MM-DDTHH:mm:ss.SSSZ'.
Note:
1) Applicable only when skus and itemIds are omitted
2) Returns paginated response
3) Must be paired with size and page to accommodate large data

Example: modifiedBefore=2021-05-28T16:36:50.055Z
parentSku
string

Parent SKU to get its children products.
Note
1) To get a p paginates response, optionally, size and page can be used as query parameters. When they are omitted, this endpoint returns all children.
2) Only page and size are supported with this query parameter.

Example: parentSku=parent123
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v2/product
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "products": [
    ]
}

Find products

Finds products - both individually and in bundles. Optional filter parameters help narrow down the search results. When the response is large, page and size becomes mandatory to support pagination.

Request
query Parameters
keyword
string

Keywords related to SKU or title

Example: keyword=MOBO-1024
skus
Array of strings

Searches for items based on SKU.
Note: If omitted, all products are retrieved.
Applicable only when keyword is omitted.

Example: skus=MOBO-1024&skus=MOBO-1025
itemIds
Array of strings

Item IDs.
Note: If omitted, all products are retrieved
Applicable only when keyword and skus are omitted.

Example: itemIds=4&itemIds=5
page
number

Page number to be retrieved.

Example: page=10
size
integer

Number of records per page.
Note: 1) Always paired with page.
2) Applicable only in a paginated response.

Example: size=10
type
string

Product type

Enum: "ITEM" "BUNDLE" "ALL"
Example: type=ITEM
allAttributes
boolean

true: Returns all attributes. false: Returns only the mapped attributes.
Note: Always clubbed with page and size. If values are not specified, the default values are page = 1 and size = 10. As a result, endpoint returns the first 10 items with all their attributes.

Example: allAttributes=true
excludeChildren
boolean

true: Excludes child products
false: Includes child products

Example: excludeChildren=false
onlyChildren
boolean

true: Excludes parent products
false: Includes parent products

Example: onlyChildren=true
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

OK

500

Internal server error

get/v1/product/search
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "products": [
    ]
}

Get product attributes

Product attributes define characteristics of a product. For example, product name, its identifiers, and description are the common attributes of any product. Attributes are key-value pairs (color: red) that hold information for each property of a product.
This endpoint gets all attributes of a product, by SKU or itemId.
Note: The Get product (GET /v1/product) gets product details and their attribute. So, this endpoint is recommended when you have the product SKU or item ID, and only require its attributes.

Request
query Parameters
sku
string

Stock Keeping Unit (SKU) of product.
Note: If omitted itemId becomes mandatory.

Example: sku=MOBO-1024
itemId
number

Item ID.
Note: If omitted sku becomes mandatory.

Example: itemId=3
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/product/attribute
Response samples
application/json
{
  • "totalSize": 100,
  • "pageSize": 10,
  • "pages": 10,
  • "attributes": [
    ]
}

Generate CSV template file for products

Generates CSV template to upload products for a specific category.

Request
path Parameters
accountId
required
string

Account ID

nodeId
required
string

24-character system-generated category ID

Example: 6131f771d4a7fa4314e45ebd
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/product/bulk/template/{accountId}/{nodeId}
Response samples
application/json
{
  • "code": 400,
  • "message": "Client error"
}

Generate CSV template for product bundles

Generates CSV template to upload bundles for a specific category.

Request
path Parameters
accountId
required
string

Account ID

nodeId
required
string

24-character system-generated category ID

Example: 6131f771d4a7fa4314e45ebd
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/product/bulk/template/bundle/{accountId}/{nodeId}
Response samples
application/json
{
  • "code": 400,
  • "message": "Client error"
}

Generate CSV template for product attributes

Generates CSV template to upload product attributes.

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Responses
200

OK

400

Client error

500

Internal server error

get/v1/product/bulk/template/attribute
Response samples
application/json
{
  • "code": 400,
  • "message": "Client error"
}

Generate S3 bucket URL for products

Generates S3 bucket URL to upload products using CSV file

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
nodeId
string

Category ID associated with the file

fileName
string

File name to be uploaded in the generated URL

Responses
200

OK

400

Client error

500

Internal server error

post/v1/upload-url
Request samples
application/json
{
  • "nodeId": "611eef8b81f92b882d4f9741",
  • "fileName": "men-shoes.csv"
}
Response samples
application/json
{}

Generate S3 bucket URL for product bundles

Generates S3 bucket URL to upload product bundles using CSV file

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
nodeId
string

Category ID associated with the file

fileName
string

File name to be uploaded in the generated URL

Responses
200

OK

400

Client error

500

Internal server error

post/v1/upload-url/bundle
Request samples
application/json
{
  • "nodeId": "626a31a2d877f5e49efad330",
  • "fileName": "men-shoes-bundle-local.csv"
}
Response samples
application/json
{}

Generate S3 bucket URL for product attributes

Generates S3 bucket URL to upload product attribute using CSV file

Request
header Parameters
authorization
string

JWT Authorization token from Login endpoint. If omitted, x-site-context becomes mandatory.
Note: Some calls require Authorization along with x-site-context.

Example: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxMDk1YjE2Y2E4MDZjMDAwOGYyNjA4NSIsInJvbGVzIjpbIkFkbWluIl0sInBlcm1pc3Npb25zIjpbInJlYWQ6Y29sbGVjdGlvbiIsIndyaXRlOnVzZXIiLCJ3cml0ZTpza3VzZXQiLCJ3cml0ZTpyb2xlIiwicmVhZDpwZXJtaXNzaW9uIiwid3JpdGU6YXR0cmlidXRlLWdyb3VwIiwicmVhZDp1c2VyIiwicmVhZDpza3VzZXQiLCJ3cml0ZTphdHRyaWJ1dGUiLCJyZWFkOmF0dHJpYnV0ZSIsInJlYWQ6cm9sZSIsIndyaXRlOmNvbGxlY3Rpb24iLCJyZWFkOmF0dHJpYnV0ZS1ncm91cCJdLCJhY2NvdW50IjoiNjA5YWM3NTA1MWYxMWEwMDA3Y2YzOGIzIiwiYWNjb3VudElkIjoxNDAzNTUyMTE1LCJ1c2VyVHlwZSI6eyJraW5kIjoiUkVHSVNURVJFRCJ9LCJpYXQiOjE2Mzc1MzYzNjIsImV4cCI6MTYzNzUzODE2Mn0.aUrXJ8e5TsADHdlP61Zg21dgJFoFxe5jsASHDxTj1h-WtodEpMR150vTpIA0pfpy1-3rKXlcjoOi6xidADhqZw
object

Represents single or multi-tenancy. If omitted, Authorization becomes mandatory.

Request Body schema: application/json
fileName
string

File name to be uploaded in the generated URL

Responses
200

OK

400

Client error

500

Internal server error

post/v1/upload-url/attribute
Request samples
application/json
{
  • "fileName": "item-attributes.csv"
}
Response samples
application/json
{
  • "fileId": "626c415430548500093811f1",
  • "url": "