{
"opencollection": "1.0.0",
"info": {
"name": "Cart Actions Endpoints Product API",
"version": "3.0.0"
},
"request": {
"auth": {
"type": "bearer",
"token": "{{bearerToken}}"
}
},
"items": [
{
"info": {
"name": "Product",
"type": "folder"
},
"items": [
{
"info": {
"name": "Create Items and Bundles",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-product/v1/product/bulk/insert",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates multiple items 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 an item variant, parentSku must be additionally specified.
3) An item is assigned to only one category but it can be fetched from Alternate categories.
4) Up to 50 items or bundles can be added."
},
{
"info": {
"name": "Update Items and Bundles",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-product/v1/product/bulk/update",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "With this endpoint, you can update multiple items or bundles, along with their attributes.
**Note**:
1) You can update up to 50 items or bundles.
2) By specifying the attribute `value` as NULL, a reserved keyword, you can remove the existing attribute value."
},
{
"info": {
"name": "Upsert Items and Bundles",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-product/v1/product/bulk/upsert",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "With this endpoint, you can create or update items or bundles along with their attributes.
**Note**:
1) If the SKU already exists, then the given item or bundle is updated. Otherwise, a new item or bundle is created with that SKU.
2) You can add or update up to 50 items or bundles.
3) By specifying the attribute `value` as NULL, a reserved keyword, you can remove the existing attribute value."
},
{
"info": {
"name": "Update Items in Bundle",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-product/v1/product/bundle/update",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates bundle by adding or removing items and adjusting quantities."
},
{
"info": {
"name": "Get Items and Children Items",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-product/v1/product",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "skus",
"value": "BUNDLE-01,BUNDLE-02",
"type": "query",
"description": "Stock Keeping Units (SKUs).
**Note**: Either `skus` or `itemIds` can be used to get specific items. If they are omitted, all items are returned in a paginated response. Using the query parameters `page` and `size`, you can narrow down the search results."
},
{
"name": "itemIds",
"value": "4,5",
"type": "query",
"description": "Item IDs. Applicable only when `skus` are omitted.
**Note**: Either `skus` or `itemIds` can be used to get specific items. If they are omitted, all items are returned in a paginated response. Using the query parameters `page` and `size`, you can narrow down the search results."
},
{
"name": "page",
"value": "",
"type": "query",
"description": "Page number to be retrieved. Applicable only in a paginated response and always paired with `size`."
},
{
"name": "size",
"value": "",
"type": "query",
"description": "Number of records per page. Applicable only in a paginated response and always paired with `page`."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "Item status.
**Note**:
1) Returns a paginated response.
2) When used as the only criteria, must be paired with `size` and `page` to narrow down the search results."
},
{
"name": "createdAfter",
"value": "",
"type": "query",
"description": "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 narrow down the search results."
},
{
"name": "createdBefore",
"value": "",
"type": "query",
"description": "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 narrow down the search results."
},
{
"name": "modifiedAfter",
"value": "",
"type": "query",
"description": "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 narrow down the search results."
},
{
"name": "modifiedBefore",
"value": "",
"type": "query",
"description": "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 narrow down the search results."
},
{
"name": "onlyIncludeAttributes",
"value": "Image,Title",
"type": "query",
"description": "Attributes are included based on their exact, case-sensitive names. For example, if you specify the values as xyZ and Abc, the response will include these attributes in both parent and child objects."
},
{
"name": "onlyExcludeAttributes",
"value": "Image,Title",
"type": "query",
"description": "Attributes are excluded based on their exact, case-sensitive names. For example, if you specify the values as xyZ and Abc, the response will exclude these attributes from both parent and child objects.
**Note**: When both `onlyIncludeAttributes` and `onlyExcludeAttributes` are used, the `onlyIncludeAttributes` takes precedence. As a result, attributes are first filtered based on `onlyIncludeAttributes`, and then `onlyExcludeAttributes` is applied to further refine the selection."
}
]
},
"docs": "Items can be individual items or a bundle of items. This endpoints allows you to retrieve items - individual items and bundles, along with their attributes, children items and their details.
**Note**:
1) Optional filter parameters can be passed in as query to narrow down the search results.
2) This API will only return the count and details of Parent SKU and not its variants"
},
{
"info": {
"name": "Get Items and Limited Children Items",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-product/v2/product",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "skus",
"value": "BUNDLE-01",
"type": "query",
"description": "Stock Keeping Units (SKUs).
**Note**: Either `skus` or `itemIds` can be used to get specific items. If they are omitted, all items are returned in a paginated response. Using the query parameters `page` and `size`, you can narrow down the search results."
},
{
"name": "page",
"value": "",
"type": "query",
"description": "Page number to be retrieved. Applicable only in a paginated response and always paired with `size`."
},
{
"name": "size",
"value": "",
"type": "query",
"description": "Number of records per page. Applicable only in a paginated response and always paired with `page`."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "Item status.
**Note**:
1) Returns a paginated response.
2) When used as the only criteria, must be paired with `size` and `page` to narrow down the search results."
},
{
"name": "type",
"value": "",
"type": "query",
"description": "Item type. **Note**: Set page and size to use this filter."
},
{
"name": "createdAfter",
"value": "",
"type": "query",
"description": "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 narrow down the search results."
},
{
"name": "createdBefore",
"value": "",
"type": "query",
"description": "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` narrow down the search results."
},
{
"name": "modifiedAfter",
"value": "",
"type": "query",
"description": "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 narrow down the search results."
},
{
"name": "modifiedBefore",
"value": "",
"type": "query",
"description": "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 narrow down the search results."
},
{
"name": "parentSku",
"value": "",
"type": "query",
"description": "Parent SKU to get its children items.
**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, to narrow down the search results."
}
]
},
"docs": "Gets items (single item or bundles) by `skus` or parent `skus`. When a parent SKU is sent as query parameter, you'll get children items of those SKUs. When `parentSKU` is not specified, children items are not retrieved. Optionally, `page` and `size` can be used as query parameters. **Note**:
1) `status` and `date` query parameters works only with pagination when `parentSku` is omitted. Separate responses are shown for bundle and product.
2) when `parentSku` is passed as request para"
},
{
"info": {
"name": "Find Items",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-product/v1/product/search",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "keyword",
"value": "",
"type": "query",
"description": "Keywords related to SKU or title"
},
{
"name": "skus",
"value": "MOBO-1024,MOBO-1025",
"type": "query",
"description": "Searches for items based on SKU.
**Note**: If omitted, all items are retrieved.
Applicable only when `keyword` is omitted."
},
{
"name": "itemIds",
"value": "4,5",
"type": "query",
"description": "Item IDs.
**Note**: If omitted, all items are retrieved
Applicable only when `keyword` and `skus` are omitted."
},
{
"name": "page",
"value": "10",
"type": "query",
"description": "Page number to be retrieved."
},
{
"name": "size",
"value": "10",
"type": "query",
"description": "Number of records per page.
**Note**: 1) Always paired with `page`.
2) Applicable only in a paginated response."
},
{
"name": "type",
"value": "",
"type": "query",
"description": "Item type"
},
{
"name": "allAttributes",
"value": "",
"type": "query",
"description": "true: Gets all attributes. false: Gets only the mapped attributes.
**Note**: Always clubbed with `page` and `size`. When they are not specified, you will get up to 10 records."
},
{
"name": "excludeChildren",
"value": "",
"type": "query",
"description": "true: Excludes children items
false: Includes children items"
},
{
"name": "onlyChildren",
"value": "",
"type": "query",
"description": "true: Excludes parent items
false: Includes parent items"
}
]
},
"docs": "Finds items - both individual items and bundles. You will get a paginagted response, which you can narrow down using filter parameters, including `page` and `size`."
},
{
"info": {
"name": "Get Item Attributes",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-product/v1/product/attribute",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "sku",
"value": "",
"type": "query",
"description": "Stock Keeping Unit (SKU) of item.
**Note**: If omitted `itemId` becomes mandatory."
},
{
"name": "itemId",
"value": "",
"type": "query",
"description": "Item ID.
**Note**: If omitted `sku` becomes mandatory."
}
]
},
"docs": "Item attributes define characteristics of an item. For example, item name, its identifiers, and description are the common attributes of any item. Attributes are key-value pairs (color: red) that hold information for each property of an item.
This endpoint gets all attributes of an item, by SKU or itemId.
**Note**: The *Get item* (GET /v1/product) gets item details and their attribute. So, this endpoint is recommended when you have the item SKU or item ID, and only require its attr"
}
]
}
],
"bundled": true
}