> For the complete documentation index, see [llms.txt](https://docs.spurtcommerce.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spurtcommerce.com/spurtapi/spurtcommerce/admin-api/marketplace/product-configuration.md).

# Product Configuration

## Get vendor category list

> Retrieve a list of vendor categories with filtering and pagination options.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/category":{"get":{"tags":["Config Categories"],"summary":"Get vendor category list","description":"Retrieve a list of vendor categories with filtering and pagination options.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of categories to retrieve.","schema":{"type":"integer"}},{"name":"offset","in":"query","description":"The number of categories to skip for pagination.","schema":{"type":"integer"}},{"name":"keyword","in":"query","description":"Keyword to filter categories by name.","schema":{"type":"string"}},{"name":"sortOrder","in":"query","description":"Sort order (e.g., 0 for ascending, 1 for descending).","schema":{"type":"integer"}},{"name":"status","in":"query","description":"Filter categories by status (active or inactive).","schema":{"type":"integer"}},{"name":"name","in":"query","description":"Name of the category to filter by.","schema":{"type":"string"}},{"name":"industryId","in":"query","description":"Filter categories by industry ID.","schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved category list","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Create a new category

> Create a new category with the provided details.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/category":{"post":{"tags":["Config Categories"],"summary":"Create a new category","description":"Create a new category with the provided details.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Category object that needs to be created","content":{"application/x-www-form-urlencoded":{"schema":{"required":["categoryDescription","categorySlug","industryId","name","parentInt","sortOrder","status"],"type":"object","properties":{"name":{"type":"string"},"sortOrder":{"type":"integer"},"metaTagDescription":{"type":"string"},"metaTagKeyword":{"type":"string"},"metaTagTitle":{"type":"string"},"parentInt":{"type":"integer"},"image":{"type":"string"},"imagePath":{"type":"string"},"status":{"type":"string"},"categorySlug":{"type":"string"},"categoryDescription":{"type":"string"},"industryId":{"type":"integer"}}}}},"required":true},"responses":{"200":{"description":"Successfully created the new category.","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid input or missing required fields.","content":{}},"500":{"description":"Internal server error.","content":{}}}}}}}
```

## Get a list of industries

> Retrieve a list of industries with optional filters.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/list/industry":{"get":{"tags":["Config Categories"],"summary":"Get a list of industries","description":"Retrieve a list of industries with optional filters.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The number of industries to return per page (optional).","schema":{"type":"integer"}},{"name":"offset","in":"query","description":"The offset for the list of industries (optional).","schema":{"type":"integer"}},{"name":"keyword","in":"query","description":"A search keyword to filter the industries by name (optional).","schema":{"type":"string"}},{"name":"sortOrder","in":"query","description":"The sorting order of the results (optional).","schema":{"type":"string","enum":["asc","desc"]}}],"responses":{"200":{"description":"Successfully got the industry list","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid parameters","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Get category translation list

> Retrieve a list of category translations with optional filters.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/category/category-translation":{"get":{"tags":["Config Categories"],"summary":"Get category translation list","description":"Retrieve a list of category translations with optional filters.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"offset","in":"query","description":"The offset for pagination.","schema":{"type":"integer"}},{"name":"limit","in":"query","description":"The number of translations to return per page.","schema":{"type":"integer"}},{"name":"keyword","in":"query","description":"A search keyword to filter the category translations by name.","schema":{"type":"string"}},{"name":"sku","in":"query","description":"A filter for the category translations by SKU.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved category translation list","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid parameters","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Get category translation detail

> Retrieve the translation details for a specific category based on the category ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/category/{categoryId}/category-translation":{"get":{"tags":["Config Categories"],"summary":"Get category translation detail","description":"Retrieve the translation details for a specific category based on the category ID.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"categoryId","in":"path","description":"ID of the category to retrieve the translation for","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved category translation detail","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid category ID","content":{}},"404":{"description":"Category translation not found","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Save category translations

> Save translations for a specific category based on the category ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/category/{categoryId}/category-translation":{"post":{"tags":["Config Categories"],"summary":"Save category translations","description":"Save translations for a specific category based on the category ID.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"categoryId","in":"path","description":"ID of the category to save translations for","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"List of category translations to be saved","content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"categoryTranslation":{"type":"array","items":{"required":["description","languageId","name"],"type":"object","properties":{"languageId":{"type":"integer"},"name":{"type":"string"},"description":{"type":"string"},"id":{"type":"integer"}}}}}}}},"required":true},"responses":{"200":{"description":"Successfully saved category translations","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid input","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Update category

> Update an existing category with new details.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/category/{categoryId}":{"put":{"tags":["Config Categories"],"summary":"Update category","description":"Update an existing category with new details.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"categoryId","in":"path","description":"ID of the category to be updated","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Category details to be updated","content":{"application/x-www-form-urlencoded":{"schema":{"required":["categoryId","categorySlug","industryId","name","sortOrder","status"],"type":"object","properties":{"categoryId":{"type":"string"},"name":{"type":"string"},"sortOrder":{"type":"integer"},"metaTagDescription":{"type":"string"},"metaTagKeyword":{"type":"string"},"metaTagTitle":{"type":"string"},"parentInt":{"type":"integer"},"image":{"type":"string"},"status":{"type":"string"},"categorySlug":{"type":"string"},"categoryDescription":{"type":"string"},"industryId":{"type":"integer"}}}}},"required":true},"responses":{"200":{"description":"Successfully updated category","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid input data","content":{}},"404":{"description":"Category not found","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Delete category

> Delete an existing category by its ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/category/{categoryId}":{"delete":{"tags":["Config Categories"],"summary":"Delete category","description":"Delete an existing category by its ID.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"categoryId","in":"path","description":"ID of the category to be deleted","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully deleted category","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid category ID","content":{}},"404":{"description":"Category not found","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Get export log list

> Retrieve a paginated list of export logs.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/export-log":{"get":{"tags":["Config Data Export"],"summary":"Get export log list","description":"Retrieve a paginated list of export logs.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of records to retrieve","schema":{"type":"integer","default":10}},{"name":"offset","in":"query","description":"Number of records to skip","schema":{"type":"integer","default":0}},{"name":"count","in":"query","description":"Flag to indicate if the count should be returned (1 for true, 0 for false)","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Successfully retrieved export log list","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid query parameters","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Get order Excel list

> Retrieve a list of orders in Excel format, with an optional filter for failed orders.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/order/order-excel-list/":{"get":{"tags":["Config Data Export"],"summary":"Get order Excel list","description":"Retrieve a list of orders in Excel format, with an optional filter for failed orders.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"failedOrder","in":"query","description":"Filter orders by failed status (true or false)","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Successfully retrieved order Excel list","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid query parameters","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Get QR code product list

> Retrieve a paginated list of products linked with QR codes.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/qrCode/product-list":{"get":{"tags":["Product Config QR"],"summary":"Get QR code product list","description":"Retrieve a paginated list of products linked with QR codes.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of records to retrieve","schema":{"type":"integer","default":10}},{"name":"offset","in":"query","description":"Number of records to skip","schema":{"type":"integer","default":0}},{"name":"count","in":"query","description":"Flag to indicate if the count should be returned (1 for true, 0 for false)","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Successfully retrieved QR code product list","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid query parameters","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Get website settings

> Retrieve website settings based on query parameters.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/settings":{"get":{"tags":["Product Config QR"],"summary":"Get website settings","description":"Retrieve website settings based on query parameters.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"defaultWebsite","in":"query","description":"Specify whether to retrieve the default website settings (1 for true, 0 for false).","schema":{"type":"integer","default":1}}],"responses":{"200":{"description":"Successfully retrieved website settings","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid query parameters","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Generate QR code for products

> Generate QR codes based on the provided product data.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/qrCode/created-qrcode":{"post":{"tags":["Product Config QR"],"summary":"Generate QR code for products","description":"Generate QR codes based on the provided product data.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Product data for QR code generation","content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"productData":{"type":"array","items":{"required":["productId","productSlug"],"type":"object","properties":{"productId":{"type":"integer"},"productSlug":{"type":"string"},"base64Image":{"type":"string"}}}}}}}},"required":true},"responses":{"200":{"description":"Successfully generated the product QR code","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid request data","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Download QR code image

> Retrieve the QR code image for a given product ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/qrCode/download-qrimage/{productId}":{"get":{"tags":["Product Config QR"],"summary":"Download QR code image","description":"Retrieve the QR code image for a given product ID.","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"productId","in":"path","description":"The ID of the product whose QR code image needs to be downloaded","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved QR code image","content":{"image/png":{"schema":{"type":"string","format":"binary"}},"application/xml":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid product ID","content":{}},"404":{"description":"QR code not found for the given product ID","content":{}},"500":{"description":"Internal server error","content":{}}}}}}}
```

## Get attribute list

> Retrieve a list of product attributes with optional pagination and search keyword.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get attribute list","description":"Retrieve a list of product attributes with optional pagination and search keyword.","operationId":"getAttributes","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of records to return","schema":{"type":"integer"}},{"name":"offset","in":"query","description":"Offset for pagination","schema":{"type":"integer"}},{"name":"keyword","in":"query","description":"Search keyword to filter attributes","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved the attribute list","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Create a new attribute

> This endpoint creates a new attribute with specified properties.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute/":{"post":{"tags":["Product Attributes"],"summary":"Create a new attribute","description":"This endpoint creates a new attribute with specified properties.","operationId":"createAttribute","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"required":["isActive","isMandatory","name","type"],"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"isMandatory":{"type":"integer"},"useAsFilter":{"type":"integer"},"isActive":{"type":"integer"},"description":{"type":"string"},"label":{"type":"string"},"sectionName":{"type":"string"},"defaultValue":{"type":"string"},"attributeValues":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"}}}},"sortOrder":{"type":"integer"}}}}},"required":true},"responses":{"200":{"description":"Attribute added successfully","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Get attribute group list

> Retrieves a list of attribute groups with optional pagination and search filters.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute-group/":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get attribute group list","description":"Retrieves a list of attribute groups with optional pagination and search filters.","operationId":"getAttributeGroups","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of items to return per page.","schema":{"type":"integer","default":10}},{"name":"offset","in":"query","description":"Offset to start listing attribute groups from.","schema":{"type":"integer","default":0}},{"name":"keyword","in":"query","description":"Search keyword to filter attribute groups.","schema":{"type":"string"}},{"name":"count","in":"query","description":"Flag to return count of attribute groups.","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Successfully retrieved the attribute group list","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Create a new attribute group

> Creates a new attribute group with the specified details.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute-group/":{"post":{"tags":["Add-Ons Product Attributes"],"summary":"Create a new attribute group","description":"Creates a new attribute group with the specified details.","operationId":"createAttributeGroup","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"required":["attributeIds","name","sortOrder"],"type":"object","properties":{"name":{"type":"string","description":"The name of the attribute group."},"sortOrder":{"type":"integer","description":"The sort order of the attribute group."},"attributeIds":{"type":"array","description":"List of attribute IDs associated with the group.","items":{"type":"integer"}}}}}},"required":true},"responses":{"200":{"description":"Successfully created the attribute group","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Get attribute group by ID

> Retrieves details of a specific attribute group by its ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute-group/{id}":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get attribute group by ID","description":"Retrieves details of a specific attribute group by its ID.","operationId":"getAttributeGroupById","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the attribute group to retrieve.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved the attribute group","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid ID supplied","content":{}},"404":{"description":"Attribute group not found","content":{}}}}}}}
```

## Delete attribute group by ID

> Deletes an existing attribute group.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute-group/{id}":{"delete":{"tags":["Add-Ons Product Attributes"],"summary":"Delete attribute group by ID","description":"Deletes an existing attribute group.","operationId":"deleteAttributeGroupById","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the attribute group to be deleted.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully deleted the attribute group","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid ID supplied","content":{}},"404":{"description":"Attribute group not found","content":{}}}}}}}
```

## Get list of specifications

> Fetches a list of specifications with optional filtering.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification/":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get list of specifications","description":"Fetches a list of specifications with optional filtering.","operationId":"getSpecificationList","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The number of specifications to return (pagination).","schema":{"type":"integer","default":10}},{"name":"offset","in":"query","description":"The offset from where to start retrieving specifications.","schema":{"type":"integer","default":0}},{"name":"keyword","in":"query","description":"A search keyword to filter specifications by.","schema":{"type":"string"}},{"name":"count","in":"query","description":"If set to 1, only returns the count of specifications instead of the list.","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Successfully retrieved the list of specifications","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid query parameters","content":{}}}}}}}
```

## Create translation for an attribute group by ID

> Creates a new translation for the specified attribute group.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute-group-translation/attribute-group/{id}":{"post":{"tags":["Add-Ons Product Attributes"],"summary":"Create translation for an attribute group by ID","description":"Creates a new translation for the specified attribute group.","operationId":"createAttributeGroupTranslation","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the attribute group to create a translation for.","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Array of translations for the attribute group.","content":{"application/x-www-form-urlencoded":{"schema":{"type":"array","items":{"required":["language","translatedName"],"type":"object","properties":{"language":{"type":"string","description":"The language of the translation."},"translatedName":{"type":"string","description":"The translated name for the attribute group."},"translatedDescription":{"type":"string","description":"The translated description for the attribute group."}}}}}},"required":true},"responses":{"200":{"description":"Successfully created translation for the attribute group","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid ID or request body","content":{}},"404":{"description":"Attribute group not found","content":{}}}}}}}
```

## Get translations for an attribute group by ID

> Retrieves the translation for the specified attribute group.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute-group-translation/attribute-group/{id}":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get translations for an attribute group by ID","description":"Retrieves the translation for the specified attribute group.","operationId":"getAttributeGroupTranslationById","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the attribute group to retrieve translations for.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved translation for the attribute group","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid ID supplied","content":{}},"404":{"description":"Attribute group translation not found","content":{}}}}}}}
```

## Update attribute group by ID

> Updates an existing attribute group.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute-group/{id}":{"put":{"tags":["Add-Ons Product Attributes"],"summary":"Update attribute group by ID","description":"Updates an existing attribute group.","operationId":"updateAttributeGroupById","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the attribute group to be updated.","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"required":["attributeIds","name","sortOrder"],"type":"object","properties":{"name":{"type":"string"},"sortOrder":{"type":"integer"},"attributeIds":{"type":"array","items":{"type":"integer"}}}}}},"required":true},"responses":{"200":{"description":"Successfully updated the attribute group","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid ID supplied","content":{}},"404":{"description":"Attribute group not found","content":{}}}}}}}
```

## Get list of specifications

> This endpoint retrieves the list of specifications.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get list of specifications","description":"This endpoint retrieves the list of specifications.","operationId":"getSpecifications","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of records to return","schema":{"type":"integer","default":10}},{"name":"offset","in":"query","description":"The starting position of the records","schema":{"type":"integer","default":0}},{"name":"keyword","in":"query","description":"Keyword for searching specifications","schema":{"type":"string"}},{"name":"count","in":"query","description":"Whether to return the count of records (0 = no, 1 = yes)","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Successfully retrieved the list of specifications","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid parameters or request","content":{}}}}}}}
```

## Get list of attribute groups

> Fetches a list of attribute groups with optional filtering.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/attribute-group":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get list of attribute groups","description":"Fetches a list of attribute groups with optional filtering.","operationId":"getAttributeGroupList","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"The number of attribute groups to return (pagination).","schema":{"type":"integer","default":10}},{"name":"offset","in":"query","description":"The offset from where to start retrieving attribute groups.","schema":{"type":"integer","default":0}},{"name":"count","in":"query","description":"If set to 1, only returns the count of attribute groups instead of the list.","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Successfully retrieved the list of attribute groups","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid query parameters","content":{}}}}}}}
```

## Create a new specification

> This endpoint is used to create a new specification, which may include associated attribute groups and attributes.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification":{"post":{"tags":["Add-Ons Product Attributes"],"summary":"Create a new specification","description":"This endpoint is used to create a new specification, which may include associated attribute groups and attributes.","operationId":"createSpecification","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"integer"},"attributeGroup":{"type":"array","items":{"type":"object","properties":{"attributeGroupId":{"type":"integer"},"attributeIds":{"type":"array","items":{"type":"integer"}}}}},"attributeGroupId":{"type":"array","items":{"type":"integer"}}}}}},"required":true},"responses":{"200":{"description":"Successfully created the specification","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid input or missing required fields","content":{}}}}}}}
```

## Get a specification by ID

> This endpoint retrieves a specification based on the provided specification ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification/{id}":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get a specification by ID","description":"This endpoint retrieves a specification based on the provided specification ID.","operationId":"getSpecificationById","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"ID of the specification to retrieve","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved the specification","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"404":{"description":"Specification not found","content":{}}}}}}}
```

## Update a specification by ID

> This endpoint updates a specification based on the provided specification ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification/{id}":{"put":{"tags":["Add-Ons Product Attributes"],"summary":"Update a specification by ID","description":"This endpoint updates a specification based on the provided specification ID.","operationId":"updateSpecificationById","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"ID of the specification to update","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"required":["attributeGroup","name","status"],"type":"object","properties":{"name":{"type":"string"},"status":{"type":"integer"},"attributeGroup":{"type":"array","items":{"type":"object","properties":{"attributeGroupId":{"type":"integer"},"attributeIds":{"type":"array","items":{"type":"integer"}}}}},"attributeGroupId":{"type":"array","items":{"type":"integer"}},"deleteAttributeGroupIds":{"type":"array","items":{"type":"integer"}},"id":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Successfully updated the specification","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"404":{"description":"Specification not found","content":{}}}}}}}
```

## Delete a specification by ID

> This endpoint deletes a specification based on the provided specification ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification/{id}":{"delete":{"tags":["Add-Ons Product Attributes"],"summary":"Delete a specification by ID","description":"This endpoint deletes a specification based on the provided specification ID.","operationId":"deleteSpecificationById","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"ID of the specification to delete","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully deleted the specification","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"404":{"description":"Specification not found","content":{}}}}}}}
```

## Get specification translation details by ID

> This endpoint retrieves the translation details of a specification by its ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification-translation/specification/{id}":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get specification translation details by ID","description":"This endpoint retrieves the translation details of a specification by its ID.","operationId":"getSpecificationTranslationById","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"ID of the specification translation to retrieve","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved specification translation details","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"404":{"description":"Specification translation not found","content":{}}}}}}}
```

## Create new specification translation for the given specification ID

> This endpoint creates a new translation for the specified specification by its ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification-translation/specification/{id}":{"post":{"tags":["Add-Ons Product Attributes"],"summary":"Create new specification translation for the given specification ID","description":"This endpoint creates a new translation for the specified specification by its ID.","operationId":"createSpecificationTranslation","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"ID of the specification to add the translation for","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"language":{"type":"string"},"translation":{"type":"string"}},"description":"Details of the new specification translation"}}},"required":true},"responses":{"200":{"description":"Successfully created new specification translation","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Bad request, invalid data","content":{}}}}}}}
```

## Get list of specification categories

> This endpoint retrieves the list of specification categories, with optional query parameters for filtering and pagination.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification/category":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get list of specification categories","description":"This endpoint retrieves the list of specification categories, with optional query parameters for filtering and pagination.","operationId":"getSpecificationCategories","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of records to return","schema":{"type":"integer","default":10}},{"name":"offset","in":"query","description":"The starting position of the records","schema":{"type":"integer","default":0}},{"name":"keyword","in":"query","description":"Keyword for searching specification categories","schema":{"type":"string"}},{"name":"count","in":"query","description":"Whether to return the count of records (0 = no, 1 = yes)","schema":{"type":"integer","default":0}}],"responses":{"200":{"description":"Successfully retrieved the list of specification categories","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid parameters or request","content":{}}}}}}}
```

## Update specification for a category

> This endpoint updates the specifications assigned to a category.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/specification/category":{"put":{"tags":["Add-Ons Product Attributes"],"summary":"Update specification for a category","description":"This endpoint updates the specifications assigned to a category.","operationId":"updateSpecificationForCategory","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"array","items":{"required":["categoryId","specificationIds"],"type":"object","properties":{"categoryId":{"type":"integer","description":"The ID of the category"},"specificationIds":{"type":"array","description":"List of specification IDs to associate with the category","items":{"type":"integer"}},"deleteSpecificationIds":{"type":"array","description":"List of specification IDs to remove from the category","items":{"type":"integer"}}}}}}},"required":true},"responses":{"200":{"description":"Successfully updated the specifications for the category","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid request parameters","content":{}}}}}}}
```

## Get a list of site filters

> This endpoint retrieves a list of site filters based on the specified query parameters.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/site-filter/site-filter-list":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get a list of site filters","description":"This endpoint retrieves a list of site filters based on the specified query parameters.","operationId":"getSiteFilterList","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"limit","in":"query","description":"Number of records to return.","schema":{"type":"integer"}},{"name":"offset","in":"query","description":"The starting point for the filter records.","schema":{"type":"integer"}},{"name":"keyword","in":"query","description":"Search keyword for filtering the list.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully retrieved the filter list","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid query parameters","content":{}}}}}}}
```

## Create a new site filter

> This endpoint creates a new site filter based on the provided data.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/site-filter/create-site-filter":{"post":{"tags":["Add-Ons Product Attributes"],"summary":"Create a new site filter","description":"This endpoint creates a new site filter based on the provided data.","operationId":"createSiteFilter","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"filterName":{"type":"string","description":"The name of the filter"},"categoryId":{"type":"array","description":"A list of category IDs associated with the filter","items":{"type":"integer"}},"section":{"type":"array","description":"Sections associated with the filter","items":{"type":"object","properties":{"sectionType":{"type":"integer","description":"The type of section"},"sectionItem":{"type":"array","description":"The items of the section","items":{"type":"string"}},"sectionName":{"type":"string","description":"The name of the section"}}}}}}}},"required":true},"responses":{"200":{"description":"Successfully created the site filter","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid input data","content":{}}}}}}}
```

## Get details of a specific site filter

> This endpoint retrieves the details of a site filter by its ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/site-filter/filter-detail/{id}":{"get":{"tags":["Add-Ons Product Attributes"],"summary":"Get details of a specific site filter","description":"This endpoint retrieves the details of a site filter by its ID.","operationId":"getSiteFilterDetail","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the site filter","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully retrieved the filter details","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid ID supplied","content":{}},"404":{"description":"Filter not found","content":{}}}}}}}
```

## Update a site filter

> This endpoint updates the details of a site filter by its ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/site-filter/update-site-filter/{id}":{"put":{"tags":["Add-Ons Product Attributes"],"summary":"Update a site filter","description":"This endpoint updates the details of a site filter by its ID.","operationId":"updateSiteFilter","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the site filter to update","required":true,"schema":{"type":"integer"}}],"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"required":["categoryId","editId","filterName","section"],"type":"object","properties":{"filterName":{"type":"string","description":"The name of the site filter"},"categoryId":{"type":"array","description":"List of category IDs associated with the filter","items":{"type":"integer"}},"section":{"type":"array","description":"The sections to be included in the site filter","items":{"type":"object","properties":{"sectionType":{"type":"integer","description":"The type of section"},"sectionItem":{"type":"array","description":"The items of the section","items":{"type":"string"}},"sectionName":{"type":"string","description":"The name of the section"},"sectionId":{"type":"integer","description":"The ID of the section"}}}},"editId":{"type":"string","description":"The ID of the site filter being edited"}}}}},"required":true},"responses":{"200":{"description":"Successfully updated the site filter","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"400":{"description":"Invalid input","content":{}},"404":{"description":"Site filter not found","content":{}}}}}}}
```

## Delete a site filter

> This endpoint deletes a specific site filter by its ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/site-filter/delete-site-filter/{id}":{"delete":{"tags":["Add-Ons Product Attributes"],"summary":"Delete a site filter","description":"This endpoint deletes a specific site filter by its ID.","operationId":"deleteSiteFilter","parameters":[{"name":"Authorization","in":"header","description":"Bearer token for authentication.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the site filter to delete","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Successfully deleted the site filter","content":{"application/xml":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}},"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"404":{"description":"Site filter not found","content":{}}}}}}}
```

## Get Family List API

> This API retrieves a list of families with optional filtering and pagination.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/api/family":{"get":{"tags":["Family"],"summary":"Get Family List API","description":"This API retrieves a list of families with optional filtering and pagination.","parameters":[{"name":"limit","in":"query","description":"Number of records to return.","schema":{"type":"number"}},{"name":"offset","in":"query","description":"Number of records to skip.","schema":{"type":"number"}},{"name":"keyword","in":"query","description":"Keyword to filter families by name.","schema":{"type":"string"}},{"name":"count","in":"query","description":"If set to 1, returns only the count.","schema":{"type":"number"}}],"responses":{"200":{"description":"Successfully got family list.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"createdBy":{"type":"string"},"createdDate":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedDate":{"type":"string"},"id":{"type":"number"},"familyName":{"type":"string"},"isActive":{"type":"integer"},"isDelete":{"type":"integer"}}}}}}}}},"500":{"description":"Failed to fetch family list.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Add Family API

> This API allows users to add a new family.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/api/family":{"post":{"tags":["Family"],"summary":"Add Family API","description":"This API allows users to add a new family.","requestBody":{"description":"Array of category IDs associated with the family.","content":{"*/*":{"schema":{"type":"array","items":{"type":"number"}}}},"required":true},"responses":{"200":{"description":"Family created successfully.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"500":{"description":"Failed to create family","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Get Category List Family API

> This API retrieves a list of family categories based on the provided query parameters.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/api/family/category":{"get":{"tags":["Family"],"summary":"Get Category List Family API","description":"This API retrieves a list of family categories based on the provided query parameters.","parameters":[{"name":"limit","in":"query","description":"Limit the number of records.","schema":{"type":"number"}},{"name":"offset","in":"query","description":"Offset for pagination.","schema":{"type":"number"}},{"name":"status","in":"query","description":"Filter categories by status.","schema":{"type":"number"}},{"name":"count","in":"query","description":"If set to 1, returns only the count.","schema":{"type":"number"}},{"name":"keyword","in":"query","description":"Search categories by keyword.","schema":{"type":"string"}},{"name":"familyName","in":"query","description":"Filter categories by family name.","schema":{"type":"string"}},{"name":"sortOrder","in":"query","description":"Sort order for the categories.","schema":{"type":"number"}}],"responses":{"200":{"description":"Successfully Got family Category List.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"categoryId":{"type":"integer"},"sortOrder":{"type":"integer"},"parentInt":{"type":"integer"},"name":{"type":"string"},"image":{"type":"string"},"imagePath":{"type":"string"},"isActive":{"type":"integer"},"createdDate":{"type":"string"},"levels":{"type":"string"},"familyName":{"type":"string"},"specifications":{"type":"array","items":{"type":"object","properties":{"createdBy":{"type":"integer"},"createdDate":{"type":"string"},"modifiedBy":{"type":"integer"},"modifiedDate":{"type":"string"},"id":{"type":"integer"},"name":{"type":"string"},"slug":{"type":"string"},"isActive":{"type":"integer"},"isDelete":{"type":"integer"}}}}}}}}}}}},"500":{"description":"Failed to fetch family category list.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Get Family Detail API

> This API retrieves the details of a specific family based on the provided family ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/api/family/{id}":{"get":{"tags":["Family"],"summary":"Get Family Detail API","description":"This API retrieves the details of a specific family based on the provided family ID.","parameters":[{"name":"id","in":"path","description":"ID of the family to retrieve details for.","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":"Successfully got family detail.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"},"data":{"type":"array","items":{"type":"object","properties":{"createdBy":{"type":"string"},"createdDate":{"type":"string"},"modifiedBy":{"type":"string"},"modifiedDate":{"type":"string"},"id":{"type":"number"},"familyName":{"type":"string"},"isActive":{"type":"integer"},"isDelete":{"type":"integer"}}}}}}}}},"500":{"description":"Failed to fetch family detail.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Update Family API

> This API allows users to update an existing family by ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/api/family/{id}":{"put":{"tags":["Family"],"summary":"Update Family API","description":"This API allows users to update an existing family by ID.","parameters":[{"name":"id","in":"path","description":"Family ID to update.","required":true,"schema":{"type":"number"}}],"requestBody":{"description":"Array of category IDs to remove from the family.","content":{"*/*":{}},"required":false},"responses":{"200":{"description":"Family updated successfully.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"500":{"description":"Failed to update family.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```

## Delete Family API

> This API allows users to delete a family by ID.

```json
{"openapi":"3.0.1","info":{"title":"SpurtV5","version":"1.0.0"},"tags":[],"servers":[{"url":"http://139.59.67.17/backend/api"},{"url":"https://139.59.67.17/backend/api"}],"paths":{"/api/family/{id}":{"delete":{"tags":["Family"],"summary":"Delete Family API","description":"This API allows users to delete a family by ID.","parameters":[{"name":"id","in":"path","description":"Family ID to delete.","required":true,"schema":{"type":"number"}}],"responses":{"200":{"description":"Successfully deleted family.","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}},"500":{"description":"Failed to delete family","content":{"*/*":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}}}}}}}}}}}
```
