# 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"}}}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.spurtcommerce.com/spurtapi/spurtcommerce/admin-api/marketplace/product-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
