{
  "schemes": [
    "https"
  ],
  "swagger": "2.0",
  "info": {
    "description": "Attribute definitions, groups, and options.",
    "title": "Attribute API",
    "contact": {},
    "version": "1.0.0"
  },
  "host": "api.catazenta.com",
  "basePath": "/v1",
  "paths": {
    "/attribute-groups": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "List all attribute groups with pagination",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Groups"
        ],
        "summary": "List attribute groups",
        "parameters": [
          {
            "type": "integer",
            "default": 1,
            "description": "Page number",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 20,
            "description": "Page size",
            "name": "page_size",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Search term for code or name",
            "name": "search",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Filter by status",
            "name": "status",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "List of attribute groups",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeGroupListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "post": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Create a new attribute group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Groups"
        ],
        "summary": "Create an attribute group",
        "parameters": [
          {
            "description": "Attribute group creation request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateAttributeGroupRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created attribute group",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeGroupResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attribute-groups/{id}": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve a single attribute group by its unique identifier",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Groups"
        ],
        "summary": "Get an attribute group by ID",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute Group ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Attribute group details",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeGroupResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Delete an attribute group by ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Groups"
        ],
        "summary": "Delete an attribute group",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute Group ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "Attribute group deleted"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Update an existing attribute group by ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Groups"
        ],
        "summary": "Update an attribute group",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute Group ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Attribute group update request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateAttributeGroupRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated attribute group",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeGroupResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attribute-groups/{id}/status": {
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Change an attribute group's status (activate or deactivate)",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Groups"
        ],
        "summary": "Change attribute group status",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute Group ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Status change request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ChangeStatusRequest2"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Attribute group status changed",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeGroupResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attribute-groups/{id}/translations": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve all localized translations for a specific attribute group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Group Translations"
        ],
        "summary": "Get all translations for an attribute group",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute Group ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "List of attribute group translations",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeGroupTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "PATCH: Update multiple translations for an attribute group",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Group Translations"
        ],
        "summary": "Update attribute group translations",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute Group ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Translations data",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateAttributeGroupTranslationsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translations updated successfully",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeGroupTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attribute-types": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve all available attribute types",
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attributes"
        ],
        "summary": "List attribute types",
        "responses": {
          "200": {
            "description": "List of attribute types",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/definitions/AttributeTypeResponse"
                      }
                    }
                  }
                }
              ]
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attributes": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "List all attributes with pagination and filtering",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attributes"
        ],
        "summary": "List attributes",
        "parameters": [
          {
            "type": "integer",
            "default": 1,
            "description": "Page number",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 20,
            "description": "Page size",
            "name": "page_size",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Search term for code or name",
            "name": "search",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Filter by attribute type",
            "name": "attribute_type",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Filter by status",
            "name": "status",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "List of attributes",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "post": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Create a new attribute",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attributes"
        ],
        "summary": "Create an attribute",
        "parameters": [
          {
            "description": "Attribute creation request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateAttributeRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created attribute",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attributes/{attributeId}/options": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "List all attribute options for a specific attribute with pagination",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Options"
        ],
        "summary": "List attribute options",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "attributeId",
            "in": "path",
            "required": true
          },
          {
            "type": "integer",
            "default": 1,
            "description": "Page number",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 20,
            "description": "Page size",
            "name": "page_size",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Search term for option",
            "name": "search",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "List of attribute options",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeOptionListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "post": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Create a new attribute option for a specific attribute",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Options"
        ],
        "summary": "Create an attribute option",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "attributeId",
            "in": "path",
            "required": true
          },
          {
            "description": "Attribute option creation request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateAttributeOptionRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created attribute option",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeOptionResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attributes/{attributeId}/options/{id}": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve a single attribute option by its unique identifier",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Options"
        ],
        "summary": "Get an attribute option by ID",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "attributeId",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Attribute Option ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Attribute option details",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeOptionResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Delete an attribute option by ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Options"
        ],
        "summary": "Delete an attribute option",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "attributeId",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Attribute Option ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "Attribute option deleted"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Update an existing attribute option by ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Options"
        ],
        "summary": "Update an attribute option",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "attributeId",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Attribute Option ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Attribute option update request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateAttributeOptionRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated attribute option",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeOptionResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attributes/{attributeId}/options/{id}/translations": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve all localized translations for a specific attribute option",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Option Translations"
        ],
        "summary": "Get all translations for an attribute option",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "attributeId",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Attribute Option ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "List of attribute option translations",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeOptionTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "PATCH: Update multiple translations for an attribute option",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Option Translations"
        ],
        "summary": "Update attribute option translations",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "attributeId",
            "in": "path",
            "required": true
          },
          {
            "type": "string",
            "description": "Attribute Option ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Translations data",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateAttributeOptionTranslationsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translations updated successfully",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeOptionTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attributes/{id}": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve a single attribute by its unique identifier",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attributes"
        ],
        "summary": "Get an attribute by ID",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Attribute details",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Delete an attribute by ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attributes"
        ],
        "summary": "Delete an attribute",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "Attribute deleted"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Update an existing attribute by ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attributes"
        ],
        "summary": "Update an attribute",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Attribute update request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateAttributeRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated attribute",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attributes/{id}/status": {
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Change an attribute's status (activate or deactivate)",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attributes"
        ],
        "summary": "Change attribute status",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Status change request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ChangeStatusRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Attribute status changed",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/attributes/{id}/translations": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve all localized translations for a specific attribute",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Translations"
        ],
        "summary": "Get all translations for an attribute",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "List of attribute translations",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "PATCH: Update multiple translations for an attribute",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "Attribute Translations"
        ],
        "summary": "Update attribute translations",
        "parameters": [
          {
            "type": "string",
            "description": "Attribute ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Translations data",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateAttributeTranslationsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translations updated successfully",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/AttributeTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/uom-families": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "List all UOM families with pagination and filtering",
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Families"
        ],
        "summary": "List UOM families",
        "parameters": [
          {
            "type": "integer",
            "default": 1,
            "description": "Page number",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 10,
            "description": "Page size",
            "name": "page_size",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Filter by status",
            "name": "status",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Search term for code or name",
            "name": "search",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "List of UOM families",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMFamilyListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "post": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Create a new unit of measure family with optional base UOM",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Families"
        ],
        "summary": "Create a UOM family",
        "parameters": [
          {
            "description": "UOM family creation request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateUOMFamilyRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created UOM family",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMFamilyResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "409": {
            "description": "Conflict",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/uom-families/{id}": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve a single UOM family by its unique identifier",
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Families"
        ],
        "summary": "Get a UOM family by ID",
        "parameters": [
          {
            "type": "string",
            "description": "UOM Family ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "UOM family details",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMFamilyResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Delete a UOM family by ID",
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Families"
        ],
        "summary": "Delete a UOM family",
        "parameters": [
          {
            "type": "string",
            "description": "UOM Family ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "UOM family deleted"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Update an existing UOM family by ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Families"
        ],
        "summary": "Update a UOM family",
        "parameters": [
          {
            "type": "string",
            "description": "UOM Family ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "UOM family update request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateUOMFamilyRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated UOM family",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMFamilyResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/uom-families/{id}/status": {
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Change a UOM family's status (activate or deactivate)",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Families"
        ],
        "summary": "Change UOM family status",
        "parameters": [
          {
            "type": "string",
            "description": "UOM Family ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Status change request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ChangeStatusRequest4"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "UOM family status changed",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMFamilyResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/uom-families/{id}/translations": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve all localized translations for a specific UOM family",
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Family Translations"
        ],
        "summary": "Get all translations for a UOM family",
        "parameters": [
          {
            "type": "string",
            "description": "UOM Family ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "List of UOM family translations",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMFamilyTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "PATCH: Update multiple translations for a UOM family",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Family Translations"
        ],
        "summary": "Update UOM family translations",
        "parameters": [
          {
            "type": "string",
            "description": "UOM Family ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Translations data",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateUOMFamilyTranslationsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translations updated successfully",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMFamilyTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/uoms": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "List all units of measure with pagination and filtering",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOMs"
        ],
        "summary": "List UOMs",
        "parameters": [
          {
            "type": "integer",
            "default": 1,
            "description": "Page number",
            "name": "page",
            "in": "query"
          },
          {
            "type": "integer",
            "default": 20,
            "description": "Page size",
            "name": "page_size",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Search term for code or name",
            "name": "search",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Filter by UOM family ID",
            "name": "uom_family_id",
            "in": "query"
          },
          {
            "type": "string",
            "description": "Filter by status",
            "name": "status",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "List of UOMs",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "post": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Create a new unit of measure",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOMs"
        ],
        "summary": "Create a UOM",
        "parameters": [
          {
            "description": "UOM creation request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CreateUOMRequest"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "Created UOM",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/uoms/{id}": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve a single unit of measure by its unique identifier",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOMs"
        ],
        "summary": "Get a UOM by ID",
        "parameters": [
          {
            "type": "string",
            "description": "UOM ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "UOM details",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "delete": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Delete a unit of measure by ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOMs"
        ],
        "summary": "Delete a UOM",
        "parameters": [
          {
            "type": "string",
            "description": "UOM ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "204": {
            "description": "UOM deleted"
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Update an existing unit of measure by ID",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOMs"
        ],
        "summary": "Update a UOM",
        "parameters": [
          {
            "type": "string",
            "description": "UOM ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "UOM update request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateUOMRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Updated UOM",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/uoms/{id}/status": {
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Change a UOM's status (activate or deactivate)",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOMs"
        ],
        "summary": "Change UOM status",
        "parameters": [
          {
            "type": "string",
            "description": "UOM ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Status change request",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ChangeStatusRequest3"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "UOM status changed",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    },
    "/uoms/{id}/translations": {
      "get": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "Retrieve all localized translations for a specific UOM",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Translations"
        ],
        "summary": "Get all translations for a UOM",
        "parameters": [
          {
            "type": "string",
            "description": "UOM ID",
            "name": "id",
            "in": "path",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "List of UOM translations",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      },
      "patch": {
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "description": "PATCH: Update multiple translations for a UOM",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "application/json"
        ],
        "tags": [
          "UOM Translations"
        ],
        "summary": "Update UOM translations",
        "parameters": [
          {
            "type": "string",
            "description": "UOM ID",
            "name": "id",
            "in": "path",
            "required": true
          },
          {
            "description": "Translations data",
            "name": "request",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/UpdateUOMTranslationsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Translations updated successfully",
            "schema": {
              "allOf": [
                {
                  "$ref": "#/definitions/response.SuccessResponse"
                },
                {
                  "type": "object",
                  "properties": {
                    "data": {
                      "$ref": "#/definitions/UOMTranslationListResponse"
                    }
                  }
                }
              ]
            }
          },
          "400": {
            "description": "Bad Request",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "404": {
            "description": "Not Found",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          },
          "500": {
            "description": "Internal Server Error",
            "schema": {
              "$ref": "#/definitions/response.ErrorResponse"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "response.Error": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "field": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "response.ErrorResponse": {
      "type": "object",
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/response.Error"
          }
        },
        "message": {
          "type": "string"
        },
        "success": {
          "type": "boolean"
        }
      }
    },
    "response.PaginationInfo": {
      "type": "object",
      "properties": {
        "has_next": {
          "type": "boolean"
        },
        "page": {
          "type": "integer"
        },
        "page_size": {
          "type": "integer"
        },
        "total_items": {
          "type": "integer"
        },
        "total_pages": {
          "type": "integer"
        }
      }
    },
    "response.SuccessResponse": {
      "type": "object",
      "properties": {
        "data": {},
        "success": {
          "type": "boolean"
        }
      }
    },
    "ActorSummary": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "550e8400-e29b-41d4-a716-446655440000"
        },
        "name": {
          "type": "string",
          "example": "John Doe"
        },
        "type": {
          "type": "string",
          "example": "user"
        }
      }
    },
    "AttributeGroupSummary": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "TECHNICAL"
        },
        "id": {
          "type": "string",
          "example": "5"
        },
        "name": {
          "type": "string",
          "example": "Technical"
        }
      }
    },
    "AttributeListItem": {
      "type": "object",
      "properties": {
        "attribute_group": {
          "$ref": "#/definitions/AttributeGroupSummary"
        },
        "attribute_type": {
          "type": "string",
          "example": "select"
        },
        "code": {
          "type": "string",
          "example": "COLOR"
        },
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "created_by": {
          "$ref": "#/definitions/ActorSummary"
        },
        "id": {
          "type": "string",
          "example": "15"
        },
        "is_unique": {
          "type": "boolean",
          "example": false
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "modified_by": {
          "$ref": "#/definitions/ActorSummary"
        },
        "name": {
          "type": "string",
          "example": "Color"
        },
        "sort_order": {
          "type": "integer",
          "example": 1
        },
        "status": {
          "type": "string",
          "example": "active"
        },
        "value_per_channel": {
          "type": "boolean",
          "example": false
        },
        "value_per_locale": {
          "type": "boolean",
          "example": true
        }
      }
    },
    "AttributeListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttributeListItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/response.PaginationInfo"
        }
      }
    },
    "AttributeResponse": {
      "type": "object",
      "properties": {
        "attribute_group": {
          "$ref": "#/definitions/AttributeGroupSummary"
        },
        "attribute_type": {
          "type": "string",
          "example": "select"
        },
        "code": {
          "type": "string",
          "example": "COLOR"
        },
        "config": {
          "type": "object",
          "additionalProperties": true
        },
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "created_by": {
          "$ref": "#/definitions/ActorSummary"
        },
        "description": {
          "type": "string",
          "example": "Product color attribute"
        },
        "id": {
          "type": "string",
          "example": "15"
        },
        "is_unique": {
          "type": "boolean",
          "example": false
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "modified_by": {
          "$ref": "#/definitions/ActorSummary"
        },
        "name": {
          "type": "string",
          "example": "Color"
        },
        "sort_order": {
          "type": "integer",
          "example": 1
        },
        "status": {
          "type": "string",
          "example": "active"
        },
        "value_per_channel": {
          "type": "boolean",
          "example": false
        },
        "value_per_locale": {
          "type": "boolean",
          "example": true
        }
      }
    },
    "AttributeTranslationInput": {
      "type": "object",
      "required": [
        "locale",
        "name"
      ],
      "properties": {
        "locale": {
          "type": "string",
          "maxLength": 10,
          "minLength": 2,
          "example": "en_US"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Color"
        }
      }
    },
    "AttributeTranslationListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttributeTranslationResponse"
          }
        }
      }
    },
    "AttributeTranslationResponse": {
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "locale": {
          "type": "string",
          "example": "en_US"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "name": {
          "type": "string",
          "example": "Color"
        }
      }
    },
    "AttributeTypeResponse": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "text"
        },
        "description": {
          "type": "string",
          "example": "Single-line text input"
        },
        "name": {
          "type": "string",
          "example": "Text"
        },
        "sort_order": {
          "type": "integer",
          "example": 1
        }
      }
    },
    "ChangeStatusRequest": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "active",
            "inactive"
          ],
          "example": "active"
        }
      }
    },
    "CreateAttributeRequest": {
      "type": "object",
      "required": [
        "attribute_type",
        "code",
        "name"
      ],
      "properties": {
        "attribute_group_id": {
          "type": "string",
          "minLength": 1,
          "example": "5"
        },
        "attribute_type": {
          "type": "string",
          "enum": [
            "text",
            "text_area",
            "number",
            "price",
            "select",
            "multi_select",
            "measurement",
            "media",
            "media_group",
            "boolean",
            "date",
            "date_range",
            "file",
            "location",
            "link",
            "identifier",
            "tax_class"
          ],
          "example": "select"
        },
        "code": {
          "type": "string",
          "maxLength": 50,
          "example": "COLOR"
        },
        "config": {
          "type": "object",
          "additionalProperties": true
        },
        "description": {
          "type": "string",
          "maxLength": 1000,
          "example": "Product color attribute"
        },
        "is_unique": {
          "type": "boolean",
          "example": false
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "example": "Color"
        },
        "sort_order": {
          "type": "integer",
          "minimum": 0,
          "example": 1
        },
        "value_per_channel": {
          "type": "boolean",
          "example": false
        },
        "value_per_locale": {
          "type": "boolean",
          "example": true
        }
      }
    },
    "UpdateAttributeRequest": {
      "type": "object",
      "properties": {
        "attribute_group_id": {
          "type": "string",
          "minLength": 1,
          "example": "5"
        },
        "attribute_type": {
          "type": "string",
          "enum": [
            "text",
            "text_area",
            "number",
            "price",
            "select",
            "multi_select",
            "measurement",
            "media",
            "media_group",
            "boolean",
            "date",
            "date_range",
            "file",
            "location",
            "link",
            "identifier",
            "tax_class"
          ],
          "example": "select"
        },
        "code": {
          "type": "string",
          "maxLength": 50,
          "example": "COLOR"
        },
        "config": {
          "type": "object",
          "additionalProperties": true
        },
        "description": {
          "type": "string",
          "maxLength": 1000,
          "example": "Updated product color"
        },
        "is_unique": {
          "type": "boolean",
          "example": false
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "example": "Color"
        },
        "sort_order": {
          "type": "integer",
          "minimum": 0,
          "example": 1
        },
        "value_per_channel": {
          "type": "boolean",
          "example": false
        },
        "value_per_locale": {
          "type": "boolean",
          "example": true
        }
      }
    },
    "UpdateAttributeTranslationsRequest": {
      "type": "object",
      "required": [
        "translations"
      ],
      "properties": {
        "translations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttributeTranslationInput"
          }
        }
      }
    },
    "ActorSummary2": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "550e8400-e29b-41d4-a716-446655440000"
        },
        "name": {
          "type": "string",
          "example": "John Doe"
        },
        "type": {
          "type": "string",
          "example": "user"
        }
      }
    },
    "AttributeGroupListItem": {
      "type": "object",
      "properties": {
        "attribute_count": {
          "type": "integer",
          "example": 12
        },
        "code": {
          "type": "string",
          "example": "TECHNICAL"
        },
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "created_by": {
          "$ref": "#/definitions/ActorSummary2"
        },
        "id": {
          "type": "string",
          "example": "5"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "modified_by": {
          "$ref": "#/definitions/ActorSummary2"
        },
        "name": {
          "type": "string",
          "example": "Technical Specifications"
        },
        "sort_order": {
          "type": "integer",
          "example": 1
        },
        "status": {
          "type": "string",
          "example": "active"
        }
      }
    },
    "AttributeGroupListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttributeGroupListItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/response.PaginationInfo"
        }
      }
    },
    "AttributeGroupResponse": {
      "type": "object",
      "properties": {
        "attribute_count": {
          "type": "integer",
          "example": 12
        },
        "code": {
          "type": "string",
          "example": "TECHNICAL"
        },
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "created_by": {
          "$ref": "#/definitions/ActorSummary2"
        },
        "description": {
          "type": "string",
          "example": "Technical attribute group"
        },
        "id": {
          "type": "string",
          "example": "5"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "modified_by": {
          "$ref": "#/definitions/ActorSummary2"
        },
        "name": {
          "type": "string",
          "example": "Technical Specifications"
        },
        "sort_order": {
          "type": "integer",
          "example": 1
        },
        "status": {
          "type": "string",
          "example": "active"
        }
      }
    },
    "AttributeGroupTranslationInput": {
      "type": "object",
      "required": [
        "locale",
        "name"
      ],
      "properties": {
        "locale": {
          "type": "string",
          "maxLength": 10,
          "minLength": 2,
          "example": "en_US"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Technical Specifications"
        }
      }
    },
    "AttributeGroupTranslationListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttributeGroupTranslationResponse"
          }
        }
      }
    },
    "AttributeGroupTranslationResponse": {
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "locale": {
          "type": "string",
          "example": "en_US"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "name": {
          "type": "string",
          "example": "Technical Specifications"
        }
      }
    },
    "ChangeStatusRequest2": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "active",
            "inactive"
          ],
          "example": "active"
        }
      }
    },
    "CreateAttributeGroupRequest": {
      "type": "object",
      "required": [
        "code",
        "name"
      ],
      "properties": {
        "code": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "example": "TECHNICAL"
        },
        "description": {
          "type": "string",
          "maxLength": 255,
          "example": "Technical attribute group"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Technical Specifications"
        },
        "sort_order": {
          "type": "integer",
          "minimum": 0,
          "example": 1
        }
      }
    },
    "UpdateAttributeGroupRequest": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "example": "Updated description"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Technical Specifications"
        },
        "sort_order": {
          "type": "integer",
          "minimum": 0,
          "example": 1
        }
      }
    },
    "UpdateAttributeGroupTranslationsRequest": {
      "type": "object",
      "required": [
        "translations"
      ],
      "properties": {
        "translations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttributeGroupTranslationInput"
          }
        }
      }
    },
    "ActorSummary3": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "example": "550e8400-e29b-41d4-a716-446655440000"
        },
        "name": {
          "type": "string",
          "example": "John Doe"
        },
        "type": {
          "type": "string",
          "example": "user"
        }
      }
    },
    "AttributeOptionListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttributeOptionResponse"
          }
        },
        "pagination": {
          "$ref": "#/definitions/response.PaginationInfo"
        }
      }
    },
    "AttributeOptionResponse": {
      "type": "object",
      "properties": {
        "attribute_id": {
          "type": "string",
          "example": "15"
        },
        "code": {
          "type": "string",
          "example": "#FF0000"
        },
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "created_by": {
          "$ref": "#/definitions/ActorSummary3"
        },
        "id": {
          "type": "string",
          "example": "25"
        },
        "label": {
          "type": "string",
          "example": "Red"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "modified_by": {
          "$ref": "#/definitions/ActorSummary3"
        },
        "translations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TranslationSummary"
          }
        }
      }
    },
    "AttributeOptionTranslationInput": {
      "type": "object",
      "required": [
        "label",
        "locale"
      ],
      "properties": {
        "label": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Red"
        },
        "locale": {
          "type": "string",
          "maxLength": 10,
          "minLength": 2,
          "example": "en_US"
        }
      }
    },
    "AttributeOptionTranslationListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttributeOptionTranslationResponse"
          }
        }
      }
    },
    "AttributeOptionTranslationResponse": {
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "label": {
          "type": "string",
          "example": "Red"
        },
        "locale": {
          "type": "string",
          "example": "en_US"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        }
      }
    },
    "CreateAttributeOptionRequest": {
      "type": "object",
      "required": [
        "code",
        "label"
      ],
      "properties": {
        "code": {
          "type": "string",
          "example": "#FF0000"
        },
        "label": {
          "type": "string",
          "example": "Red"
        }
      }
    },
    "TranslationSummary": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string",
          "example": "Red"
        },
        "locale": {
          "type": "string",
          "example": "en_US"
        }
      }
    },
    "UpdateAttributeOptionRequest": {
      "type": "object",
      "required": [
        "code",
        "label"
      ],
      "properties": {
        "code": {
          "type": "string",
          "example": "#FF0000"
        },
        "label": {
          "type": "string",
          "example": "Red"
        }
      }
    },
    "UpdateAttributeOptionTranslationsRequest": {
      "type": "object",
      "required": [
        "translations"
      ],
      "properties": {
        "translations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AttributeOptionTranslationInput"
          }
        }
      }
    },
    "ChangeStatusRequest3": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "active",
            "inactive"
          ],
          "example": "active"
        }
      }
    },
    "CreateUOMRequest": {
      "type": "object",
      "required": [
        "code",
        "conversion_factor",
        "name",
        "symbol",
        "uom_family_id"
      ],
      "properties": {
        "code": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "example": "KG"
        },
        "conversion_factor": {
          "type": "number",
          "example": 1
        },
        "conversion_offset": {
          "type": "number",
          "example": 0
        },
        "description": {
          "type": "string",
          "maxLength": 255,
          "example": "Unit of mass"
        },
        "is_base": {
          "type": "boolean",
          "example": true
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Kilogram"
        },
        "symbol": {
          "type": "string",
          "maxLength": 32,
          "minLength": 1,
          "example": "kg"
        },
        "uom_family_id": {
          "type": "string",
          "example": "1"
        }
      }
    },
    "TranslationSummary2": {
      "type": "object",
      "properties": {
        "locale": {
          "type": "string",
          "example": "en_US"
        },
        "name": {
          "type": "string",
          "example": "Kilogram"
        }
      }
    },
    "UOMFamilySummary": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "WEIGHT"
        },
        "id": {
          "type": "string",
          "example": "1"
        },
        "name": {
          "type": "string",
          "example": "Weight"
        }
      }
    },
    "UOMListItem": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "KG"
        },
        "conversion_factor": {
          "type": "number",
          "example": 1
        },
        "conversion_offset": {
          "type": "number",
          "example": 0
        },
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "id": {
          "type": "string",
          "example": "3"
        },
        "is_base_unit": {
          "type": "boolean",
          "example": true
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "name": {
          "type": "string",
          "example": "Kilogram"
        },
        "status": {
          "type": "string",
          "example": "active"
        },
        "symbol": {
          "type": "string",
          "example": "kg"
        },
        "translations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TranslationSummary2"
          }
        },
        "uom_family": {
          "$ref": "#/definitions/UOMFamilySummary"
        },
        "uom_family_id": {
          "type": "string",
          "example": "1"
        }
      }
    },
    "UOMListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UOMListItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/response.PaginationInfo"
        }
      }
    },
    "UOMResponse": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "example": "KG"
        },
        "conversion_factor": {
          "type": "number",
          "example": 1
        },
        "conversion_offset": {
          "type": "number",
          "example": 0
        },
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "description": {
          "type": "string",
          "example": "Unit of mass"
        },
        "id": {
          "type": "string",
          "example": "3"
        },
        "is_base_unit": {
          "type": "boolean",
          "example": true
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "name": {
          "type": "string",
          "example": "Kilogram"
        },
        "status": {
          "type": "string",
          "example": "active"
        },
        "symbol": {
          "type": "string",
          "example": "kg"
        },
        "translations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TranslationSummary2"
          }
        },
        "uom_family": {
          "$ref": "#/definitions/UOMFamilySummary"
        },
        "uom_family_id": {
          "type": "string",
          "example": "1"
        }
      }
    },
    "UOMTranslationInput": {
      "type": "object",
      "required": [
        "locale",
        "name"
      ],
      "properties": {
        "locale": {
          "type": "string",
          "maxLength": 10,
          "minLength": 2,
          "example": "en_US"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Kilogram"
        }
      }
    },
    "UOMTranslationListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UOMTranslationResponse"
          }
        }
      }
    },
    "UOMTranslationResponse": {
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "locale": {
          "type": "string",
          "example": "en_US"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "name": {
          "type": "string",
          "example": "Kilogram"
        }
      }
    },
    "UpdateUOMRequest": {
      "type": "object",
      "properties": {
        "conversion_factor": {
          "type": "number",
          "example": 1
        },
        "conversion_offset": {
          "type": "number",
          "example": 0
        },
        "description": {
          "type": "string",
          "example": "Updated unit of mass"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Kilogram"
        },
        "symbol": {
          "type": "string",
          "maxLength": 32,
          "minLength": 1,
          "example": "kg"
        }
      }
    },
    "UpdateUOMTranslationsRequest": {
      "type": "object",
      "required": [
        "translations"
      ],
      "properties": {
        "translations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UOMTranslationInput"
          }
        }
      }
    },
    "BaseUOMRequest": {
      "type": "object",
      "required": [
        "code",
        "name",
        "symbol"
      ],
      "properties": {
        "code": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "example": "KG"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Kilogram"
        },
        "symbol": {
          "type": "string",
          "maxLength": 32,
          "minLength": 1,
          "example": "kg"
        }
      }
    },
    "ChangeStatusRequest4": {
      "type": "object",
      "required": [
        "status"
      ],
      "properties": {
        "status": {
          "type": "string",
          "enum": [
            "active",
            "inactive"
          ],
          "example": "active"
        }
      }
    },
    "CreateUOMFamilyRequest": {
      "type": "object",
      "required": [
        "code",
        "name"
      ],
      "properties": {
        "base_uom": {
          "$ref": "#/definitions/BaseUOMRequest"
        },
        "code": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "example": "WEIGHT"
        },
        "description": {
          "type": "string",
          "maxLength": 255,
          "example": "Weight measurement units"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Weight"
        }
      }
    },
    "UOMFamilyListItem": {
      "type": "object",
      "properties": {
        "base_uom_id": {
          "type": "string",
          "example": "3"
        },
        "code": {
          "type": "string",
          "example": "WEIGHT"
        },
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "id": {
          "type": "string",
          "example": "1"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "name": {
          "type": "string",
          "example": "Weight"
        },
        "status": {
          "type": "string",
          "example": "active"
        },
        "uom_count": {
          "type": "integer",
          "example": 5
        }
      }
    },
    "UOMFamilyListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UOMFamilyListItem"
          }
        },
        "pagination": {
          "$ref": "#/definitions/response.PaginationInfo"
        }
      }
    },
    "UOMFamilyResponse": {
      "type": "object",
      "properties": {
        "base_uom_id": {
          "type": "string",
          "example": "3"
        },
        "code": {
          "type": "string",
          "example": "WEIGHT"
        },
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "description": {
          "type": "string",
          "example": "Weight measurement units"
        },
        "id": {
          "type": "string",
          "example": "1"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "name": {
          "type": "string",
          "example": "Weight"
        },
        "status": {
          "type": "string",
          "example": "active"
        },
        "uom_count": {
          "type": "integer",
          "example": 5
        }
      }
    },
    "UOMFamilyTranslationInput": {
      "type": "object",
      "required": [
        "locale",
        "name"
      ],
      "properties": {
        "locale": {
          "type": "string",
          "maxLength": 10,
          "minLength": 2,
          "example": "en_US"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Weight"
        }
      }
    },
    "UOMFamilyTranslationListResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UOMFamilyTranslationResponse"
          }
        }
      }
    },
    "UOMFamilyTranslationResponse": {
      "type": "object",
      "properties": {
        "created_at": {
          "type": "string",
          "example": "2026-01-18T10:30:00Z"
        },
        "locale": {
          "type": "string",
          "example": "en_US"
        },
        "modified_at": {
          "type": "string",
          "example": "2026-01-18T15:45:00Z"
        },
        "name": {
          "type": "string",
          "example": "Weight"
        }
      }
    },
    "UpdateUOMFamilyRequest": {
      "type": "object",
      "properties": {
        "description": {
          "type": "string",
          "example": "Updated description"
        },
        "name": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1,
          "example": "Weight"
        }
      }
    },
    "UpdateUOMFamilyTranslationsRequest": {
      "type": "object",
      "required": [
        "translations"
      ],
      "properties": {
        "translations": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UOMFamilyTranslationInput"
          }
        }
      }
    }
  },
  "securityDefinitions": {
    "BearerAuth": {
      "type": "apiKey",
      "name": "Authorization",
      "in": "header"
    }
  }
}