{
"opencollection": "1.0.0",
"info": {
"name": "Cart Actions Endpoints Category API",
"version": "3.0.0"
},
"request": {
"auth": {
"type": "bearer",
"token": "{{bearerToken}}"
}
},
"items": [
{
"info": {
"name": "Category",
"type": "folder"
},
"items": [
{
"info": {
"name": "Get Categories",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-category/v1/category",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "ids",
"value": "6196b45b5cb04b7ce167cb46,7196b45b5cb04b7ce167cb45",
"type": "query",
"description": "A 24-character system-generated category IDs. If `ids` and `nodeIds` are omitted, this endpoint returns all Alternate categories in Active status. Using `size` and `page`, you can narrow down the search results."
},
{
"name": "nodeIds",
"value": "123,234",
"type": "query",
"description": "Numeric category IDs. When `ids` and `nodeIds` are omitted, specify `size` and `page` to narrow down the search results."
},
{
"name": "keyword",
"value": "computers",
"type": "query",
"description": "Keywords to search for categories. You will get a pagination response. Using `size` and `page`, you can narrow down the search results."
},
{
"name": "type",
"value": "",
"type": "query",
"description": "Category type.
**Note**: When omitted, you will get `ALTERNATE` categories by default."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "Category status.
**Note**: If omitted, you will get Alternate categories in Active status by default.
**Note**: When `type` is Primary, `status` must be Active. Inactive status is not applicable for Primary category."
},
{
"name": "page",
"value": "1",
"type": "query",
"description": "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."
},
{
"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.
3) No default value set. Unless a value is specified, endpoint returns an error."
}
]
},
"docs": "Gets categories and their details including attributes, breadcrumbs, and details of children categories.
**Note**:
1) Specify either `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. Using the query parameters `size` and `page`, you can narrow down the search results."
},
{
"info": {
"name": "Create Category",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Creates Primary or Alternate category to organize items 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 req"
},
{
"info": {
"name": "Modify Category",
"type": "http"
},
"http": {
"method": "PUT",
"url": "https://api.fabric.inc/v3/api-category/v1/category/:nodeId",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "nodeId",
"value": "1204",
"type": "path",
"description": "Numeric category ID"
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Updates category details such as name, parent, and its order of appearance amongst sibling categories."
},
{
"info": {
"name": "Find Categories",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-category/v1/category/search",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "keyword",
"value": "computers",
"type": "query",
"description": "Keywords to search for categories. The response is paginated. Using query parameters `page` and `size`, you can narrow down the search results."
},
{
"name": "ids",
"value": "6196b45b5cb04b7ce167cb46,7196b45b5cb04b7ce167cb47",
"type": "query",
"description": "A 24-characters system-generated category IDs. If `ids` and `nodeIds` are omitted, this endpoint returns a paginated response. Using query parameters `page` and `size`, you can narrow down the search results."
},
{
"name": "nodeIds",
"value": "15,16",
"type": "query",
"description": "Numeric category IDs. If `ids` and `nodeIds` are omitted, this endpoint returns a paginated response. Using query parameters `page` and `size`, you can narrow down the search results."
},
{
"name": "type",
"value": "",
"type": "query",
"description": "Category type.
**Note**: If omitted, you will get a paginated response with `ALL` categories. Using query parameters `page` and `size`, you can narrow down the search results."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "Category status. If omitted, you will get a paginated response of categories in `ACTIVE` status. Using the query parameters `page` and `size`, you can narrow down the search results.
**Note**: When `type` is Primary, `status` must be Active. Inactive status is not applicable for Primary category."
},
{
"name": "page",
"value": "1",
"type": "query",
"description": "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."
},
{
"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.
3) No default value set. Unless a value is specified, endpoint returns an error."
}
]
},
"docs": "Finds categories, by keywords, category identifiers, type, or status.
**Note**:
1) Categories and children categories must already exist in the system.
2) When query parameters are omitted, this endpoint returns a paginated response with all the categories. Using `size` and `page`, you can narrow down the search results.
3) GET /v1/category (Store admin context) or Algolia search (Shopper context) is strongly recommended over this endpoint."
},
{
"info": {
"name": "Get Category Tree",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-category/v1/category/tree",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "6196b44a5cb04b7ce167cb34",
"type": "query",
"description": "A 24-character system-generated ID of root category. Either `id` or `nodeId` must be specified."
},
{
"name": "nodeId",
"value": "12",
"type": "query",
"description": "Numeric category ID. Either `id` or `nodeId` must be specified."
},
{
"name": "depth",
"value": "1",
"type": "query",
"description": "Limits the size of the hierarchical category tree returned in the response. Depth of 0 means no children categories, attributes, or breadcrumbs, are included in the response. Unless depth is specified, entire category is returned up to the last set of categories (that have no more children categories)."
},
{
"name": "excludeAttributes",
"value": "true",
"type": "query",
"description": "Set `true` to exclude attributes from both parent and children objects or false to include attributes in both parent and children details.
The default setting false."
},
{
"name": "excludeBreadcrumbs",
"value": "true",
"type": "query",
"description": "Set `true` to exclude breadcrumbs from both parent and children objects or false to include breadcrumbs in both parent and children details.
The default setting false."
},
{
"name": "excludeItemIds",
"value": "true",
"type": "query",
"description": "Set `true` to exclude item IDs from both parent and children objects or false to include item IDs in both parent and children details.
The default setting false."
},
{
"name": "onlyIncludeAttributes",
"value": "Category Image,Category Type",
"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."
}
]
},
"docs": "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."
},
{
"info": {
"name": "Get Skus in a Category",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-category/v1/category/sku",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "6196b45b5cb04b7ce167cb46",
"type": "query",
"description": "A 4-character system-generated category ID. Either `id` or `nodeId` must be specified."
},
{
"name": "nodeId",
"value": "2",
"type": "query",
"description": "Numeric category ID. Either `id` or `nodeId` must be specified."
},
{
"name": "page",
"value": "1",
"type": "query",
"description": "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."
},
{
"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.
3) No default value set. Unless a value is specified, endpoint returns an error."
}
]
},
"docs": "Gets SKUs of all items belonging to a category.
**Note**:
1) Categories must exist in the system to get SKUs in that category. If SKUs are not available in the given category ID, this endpoint returns an empty list."
},
{
"info": {
"name": "Get Assigned Category Attributes",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-category/v1/category/attribute",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "619a8ba6f1875f6dbcaf0521",
"type": "query",
"description": "A 24-character system-generated category ID. Either `id` or `nodeId` must be specified."
},
{
"name": "nodeId",
"value": "2",
"type": "query",
"description": "Numeric category ID. Either `nodeId` or `id` must be specified."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "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."
},
{
"name": "page",
"value": "1",
"type": "query",
"description": "Page number to be retrieved. Applicable only in a paginated response and always paired with `size`."
},
{
"name": "size",
"value": "10",
"type": "query",
"description": "Number of records per page. Applicable only in a paginated response and always paired with `page`."
}
]
},
"docs": "Gets all attributes assigned to a category.
**Note**:
*Get category* endpoint (GET /v1/category) returns categories, their attributes, children categories, and breadcrumb details. So, this endpoint is recommended if you have a category ID and only require its attributes."
},
{
"info": {
"name": "Assign and Unassign Category Attributes",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category/attribute",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Category attributes let you define characteristics of categories and children categories.
This endpoint assigns or unassigns attributes of a single category. The primary purpose is to assign attributes."
},
{
"info": {
"name": "Get Assigned Item Attributes",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-category/v1/category/item-attribute",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "6196b45b5cb04b7ce167cb46",
"type": "query",
"description": "A 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."
},
{
"name": "nodeId",
"value": "25",
"type": "query",
"description": "Numeric category ID. `id` and `nodeId` are the two identifiers of a category.
**Note**: If `nodeId` is specified, `status` must be specified as well."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "Status of item attributes. `Assigned` indicates item attributes are already assigned to categories and `unassigned` indicates otherwise. Applicable only when `id` or `nodeId` is specified."
},
{
"name": "page",
"value": "1",
"type": "query",
"description": "Page number to be retrieved. Applicable only in a paginated response and always paired with `size`."
},
{
"name": "size",
"value": "10",
"type": "query",
"description": "Number of records per page. Applicable only in a paginated response and always paired with `page`."
}
]
},
"docs": "Gets all the item attributes for the specified category.
**Note**: Items may also inherit item attributes from parent categories."
},
{
"info": {
"name": "Assign and Unassign Item Attributes",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category/item-attribute",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Categories are used to segregate and group items. You can specify `mandatory` and `optional` attributes that all items within that category must have. Attributes are used to store structured information about items.
Use this endpoint to create and manage item attributes for the specified category."
},
{
"info": {
"name": "Get Category Source Inclusions",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-category/v1/category/source",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "6170135a49b4af38190970fe",
"type": "query",
"description": "A 24-character system-generated category ID. `id` and `nodeId` are the two identifiers of a category and one of them must be specified."
},
{
"name": "nodeId",
"value": "12",
"type": "query",
"description": "Numeric category ID. `id` and `nodeId` are the two identifiers of a category and one of them must be specified."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "Status of Category source. If omitted, 'ASSIGNED' status is used as default."
},
{
"name": "page",
"value": "1",
"type": "query",
"description": "Page number to be retrieved. Applicable only in a paginated response and always paired with `size`."
},
{
"name": "size",
"value": "10",
"type": "query",
"description": "Number of records per page. Applicable only in a paginated response and always paired with `page`."
}
]
},
"docs": "Gets all the available category sources.
Items 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 items that appear in Alternate categories. The category sources are Primary categories that can be used as item sources in Alternate categories. Sources behave similar to symlinks."
},
{
"info": {
"name": "Add and Remove Category Source Inclusions",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category/source",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Adds and removes category sources.
Primary category is the original catalog tree consisting of nested levels of children categories and is used to place items 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 items in the Primary category appear within the Alternate category; it behaves like a symlink."
},
{
"info": {
"name": "Get Category Source Exclusions",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-category/v1/category/source/exclusion",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "",
"type": "query",
"description": "A 24-character system-generated category ID. `id` and `nodeId` are the two identifiers of a category and one of them must be specified."
},
{
"name": "nodeId",
"value": "",
"type": "query",
"description": "Numeric category ID. `id` and `nodeId` are the two identifiers of a category and one of them must be specified."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "Status of category source.
**Note**: If omitted, 'ASSIGNED' status is used by default."
},
{
"name": "page",
"value": "1",
"type": "query",
"description": "Page number to be retrieved. Applicable only in a paginated response and always paired with `size`."
},
{
"name": "size",
"value": "10",
"type": "query",
"description": "Number of records per page. Applicable only in a paginated response and always paired with `page`."
}
]
},
"docs": "Gets available exclusions applied to a category source."
},
{
"info": {
"name": "Add and Remove Category Source Exclusions",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category/source/exclusion",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Adds and removes exclusions for category source, by ID. For example, a category source `Electronics` has Laptop, Mobile, and Tablet as children categories. It's possible to exclude Tablet using this endpoint, so that it does not appear for shoppers."
},
{
"info": {
"name": "Get Item Attribute Conditions",
"type": "http"
},
"http": {
"method": "GET",
"url": "https://api.fabric.inc/v3/api-category/v1/category/item-attribute/condition",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"params": [
{
"name": "id",
"value": "6196b45b5cb04b7ce167cb46",
"type": "query",
"description": "A 24-character system-generated category ID. `id` and `nodeId` are the two identifiers of a category, and one of them must be specified."
},
{
"name": "nodeId",
"value": "25",
"type": "query",
"description": "Numeric category ID. `id` and `nodeId` are the two identifiers of a category, and one of them must be specified."
},
{
"name": "status",
"value": "",
"type": "query",
"description": "Status of item attribute"
},
{
"name": "page",
"value": "1",
"type": "query",
"description": "Page number to be retrieved. Applicable only in a paginated response and always paired with `size`."
},
{
"name": "size",
"value": "10",
"type": "query",
"description": "Number of records per page. Applicable only in a paginated response and always paired with `page`."
}
]
},
"docs": "You can filter items from Alternate categories based on the conditions set using the POST /v1/category/item-attribute/condition endpoint.
**Note**: Items may inherit conditions from parent category as well."
},
{
"info": {
"name": "Add and Remove Item Attribute Conditions",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category/item-attribute/condition",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Adds conditions for item attributes so that items 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 'item attribute condition' to filter chairs made of wood from **Wooden Chairs**. Another example: Using this endpoint, you "
},
{
"info": {
"name": "Create or Update Multiple Categories or Collections",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category/bulk/upsert",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "With endpoint, you can create or update up to 20 categories and collections, along with their children. It is particularly useful when dealing with complex organization structures.
**Note**:
1) `parentNodeName` is a breadcrumb string of parent having delimeter as **->**
2) **PRIMARY** is the root category (level 0) name. To create root categories or children of PRIMARY root category, pass **PRIMARY** as `parentNodeName` parameter. For collections, the collection name is the "
},
{
"info": {
"name": "Find Categories",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category/find",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Using this endpoint, you can search for categories and collections based on status, type, or category attributes. You will get a paginated response, which you can fine tune by specifying the query parameters `page` and `size`.
Data is retrieved from the database, ensuring latest results."
},
{
"info": {
"name": "Manage Category Attributes for Multiple Categories or Collections",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category/bulk/category-attribute",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "With this endpoint, you can efficiently assign and unassign category attributes to specified categories and collections. You can assign or unassign up to 10 category attributes simultaneously. For example, you can assign category attributes, such as material or color, to all clothing categories, such as dresses and shirts."
},
{
"info": {
"name": "Manage Item Attributes for Multiple Categories",
"type": "http"
},
"http": {
"method": "POST",
"url": "https://api.fabric.inc/v3/api-category/v1/category/bulk/item-attribute",
"headers": [
{
"name": "x-site-context",
"value": ""
}
],
"body": {
"type": "json",
"data": "{}"
}
},
"docs": "Use this endpoint to assign and unassign item attributes to specified categories. You can assign or unassign up to 10 item attributes simultaneously."
}
]
}
],
"bundled": true
}