{
  "openapi": "3.0.1",
  "info": {
    "title": "Products API",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.mercadoe.com"
    }
  ],
  "paths": {
    "/v1/products/taxes": {
      "post": {
        "tags": [
          "Product Taxes"
        ],
        "summary": "Create a product tax information",
        "description": "Registers the tax configuration for a specific product, including issuing and receiving states, base amount, and other fiscal details.",
        "parameters": [
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TaxInformationCommand"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateTaxInformationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Product Taxes"
        ],
        "summary": "Get all product tax information",
        "description": "Retrieves a paginated list of all product tax configurations. Each configuration includes its relevant jurisdictions, base amounts, tax rates, validity periods, and other fiscal details available to the connected user.",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllTaxInformationResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/taxes/{taxId}": {
      "get": {
        "tags": [
          "Product Taxes"
        ],
        "summary": "Get a product tax information",
        "description": "Retrieves the tax configuration for a specific product tax information ID, including its relevant jurisdictions, base amount, tax rate, validity period, and other fiscal details.",
        "parameters": [
          {
            "name": "taxId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetTaxInformationByIdResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Product Taxes"
        ],
        "summary": "Update a product tax information.",
        "description": "Updates the tax configuration for a specific product, including its relevant jurisdictions, base amount, tax rate, validity period, and other fiscal details.",
        "parameters": [
          {
            "name": "taxId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTaxInformationCommand"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateTaxInformationCommand"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Product Taxes"
        ],
        "summary": "Delete a product tax information.",
        "description": "Deletes the tax configuration associated with the specified product tax information ID.",
        "parameters": [
          {
            "name": "taxId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteTaxInformationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Create a product",
        "description": "Creates a new product by providing the measurement unit, description, material category, and other details.",
        "parameters": [
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCommand"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get all products by query parameters",
        "description": "Get a list of all objects that are available to the connected user.",
        "parameters": [
          {
            "name": "clientProductId",
            "in": "query",
            "description": "the client product id",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "description": "the page number must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "the page size must be an integer greater than or equal to 1",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetManyMinimalResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get a product based on the product Id",
        "description": "Get information about a specific product with the given Id.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "the product id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetByIdResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Products"
        ],
        "summary": "Update a product",
        "description": "Updates the data of a product by entering the `productId`.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCommand"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/attachments": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Add an attachment to the product",
        "description": "Add a new attachment to a specific request by providing the request id and the attachment file.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "The product id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "description": "The attachment file to be uploaded",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddAttachmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/pictures/{pictureId}/primary": {
      "put": {
        "tags": [
          "Products"
        ],
        "summary": "Update a product picture based on the ProductId and PictureId",
        "description": "This method updates the selected picture of a specific product to be the primary one by providing both the product ID and the picture ID.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "The product ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pictureId",
            "in": "path",
            "description": "The picture id to be updated",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdatePrimaryPictureResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/pictures/primary": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get the primary product picture based on the product ID",
        "description": "Get information about the primary product picture with the given productId.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "the product id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPrimaryPictureByIdResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/pictures": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Add a picture to a product",
        "description": "Add a new picture to a specific product by providing the product ID and the `picture` file. Please make sure that the `picture` file is less than 1 MB and is in one of the following formats: `.gif`, `.jpg`, `.jpeg` or `.png`.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "The product ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Indicates if the picture to be associated should be primary product picture"
                  },
                  "picture": {
                    "type": "string",
                    "description": "The picture file to be associated with a product",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "isPrimary": {
                  "style": "form"
                },
                "picture": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatePictureResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get all pictures associated with a product",
        "description": "Get all pictures of a specific product with the given product Id.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "the product id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllByProductIdResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/pictures/{pictureId}": {
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Delete a picture associated with a product",
        "description": "Delete a picture from a specific product by providing the product ID and the picture ID.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pictureId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeletePictureResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get product picture information",
        "description": "Retrieves information about a product picture with the given `productId` and the `pictureId`.\r\nYou can get information about the picture such as size, date and other details.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pictureId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetPictureMetadataResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/pictures/{pictureId}/download": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Redirection link to download the picture",
        "description": "This endpoint redirects directly to the client's picture download by entering the `productId`, `pictureId`, and `cancellationToken`.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pictureId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/attachments/{attachmentId}": {
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Delete an attachment from a product",
        "description": "Deletes an attachment document from a specific product by providing the product ID and the attachment ID.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "attachmentId",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteAttachmentResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/attributes": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get the product specific attributes based on the product Id.",
        "description": "Get information about the attributes of a specific product with the given productId, each consisting of a “Name” and a “Value.”",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "the product id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllProductAttributesByIdResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/attributes-template": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get the product attribute metadata based on the product Id.",
        "description": "Get detailed metadata of the product’s attributes (e.g., name, type, size, and description) with the given productId.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "the product id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllProductAttributesWfByIdResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/classifications": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Create product classifications",
        "description": "Creates new classifications for a specific product by providing the product ID and a list of classification objects.\r\nEach classification should include BorgId, ApplicationType, and optionally Iva, LedgerAccountCode, StatisticalOrder, and PreEdited.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "The product ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "List of classifications to be created",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Classification"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Classification"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Classification"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateProductClassificationsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Products"
        ],
        "summary": "Update product classifications",
        "description": "Updates existing classifications for a specific product by providing the product ID and a list of classification objects.\r\nEach classification in the list will be updated with the provided information.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "The product ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "List of classifications to be updated",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Classification"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Classification"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Classification"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateProductClassificationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get all product classifications",
        "description": "Retrieves all classifications associated with a specific product by providing the product ID.\r\nReturns a list of all classifications including BorgId, ApplicationType, Iva, LedgerAccountCode, StatisticalOrder, and PreEdited fields.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "The product ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllProductClassificationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/{productId}/classifications/{borgId}/{applicationType}": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get a specific product classification by application",
        "description": "Retrieves a specific classification for a product by providing the product ID, Borg ID, and application type.\r\nReturns detailed information about the classification including Iva, LedgerAccountCode, StatisticalOrder, and PreEdited status.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "The product ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "borgId",
            "in": "path",
            "description": "The Borg ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "applicationType",
            "in": "path",
            "description": "The application type",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetClassificationByApplicationResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Delete a product classification",
        "description": "Deletes a specific classification from a product by providing the product ID, Borg ID, and application type.\r\nThe classification will be permanently removed from the product.",
        "parameters": [
          {
            "name": "productId",
            "in": "path",
            "description": "The product ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "borgId",
            "in": "path",
            "description": "The Borg ID",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "applicationType",
            "in": "path",
            "description": "The application type",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteProductClassificationResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/source-lists": {
      "post": {
        "tags": [
          "Source Lists"
        ],
        "summary": "Creates a new source list.",
        "description": "Create a new source list by providing the SupplierId, ItemId, StartDate, EndDate, and other details.",
        "parameters": [
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSourceCommand"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateSourceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Source Lists"
        ],
        "summary": "Get all source lists",
        "description": "Get a list of all source lists that are available to the connected user.",
        "parameters": [
          {
            "name": "pageNumber",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAllSourceResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/products/source-lists/{sourceListId}": {
      "get": {
        "tags": [
          "Source Lists"
        ],
        "summary": "Get a source list",
        "description": "Get information about a specific source list with the given Id.",
        "parameters": [
          {
            "name": "sourceListId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetSourceByIdResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Source Lists"
        ],
        "summary": "Update a source list",
        "description": "Changes fields of a specific source list with provided values.",
        "parameters": [
          {
            "name": "sourceListId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSourceCommand"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateSourceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Source Lists"
        ],
        "summary": "Delete a source list",
        "description": "Deletes a source list specified by its Id.",
        "parameters": [
          {
            "name": "sourceListId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "X-ME-CORRELATION-ID",
            "in": "header",
            "description": "Internal client code to be identified in the webhook. It can be, for example, a product code in your ERP, an order number, etc.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteSourceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AddAttachmentResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "BusinessOrganization": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "virtualEntityField": {
            "type": "string",
            "nullable": true
          },
          "virtualEntityDescription": {
            "type": "string",
            "nullable": true
          },
          "entityType": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Classification": {
        "type": "object",
        "properties": {
          "borgId": {
            "type": "integer",
            "format": "int32"
          },
          "applicationType": {
            "type": "string"
          },
          "iva": {
            "type": "string",
            "nullable": true
          },
          "ledgerAccountCode": {
            "type": "string",
            "nullable": true
          },
          "statisticalOrder": {
            "type": "string",
            "nullable": true
          },
          "preEdited": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreateCommand": {
        "required": [
          "clientGroupId",
          "clientProductId",
          "clientReferenceProductId",
          "description",
          "estimatedPrice",
          "isService",
          "measurementUnit",
          "status"
        ],
        "type": "object",
        "properties": {
          "clientReferenceProductId": {
            "maxLength": 30,
            "minLength": 1,
            "type": "string",
            "description": "ME product code"
          },
          "clientProductId": {
            "minLength": 1,
            "type": "string",
            "description": "ERP product code"
          },
          "description": {
            "maxLength": 125,
            "minLength": 1,
            "type": "string",
            "description": "Product short description"
          },
          "complement": {
            "type": "string",
            "description": "Description complement",
            "nullable": true
          },
          "measurementUnit": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Measurement unit"
          },
          "note": {
            "type": "string",
            "description": "Note",
            "nullable": true
          },
          "estimatedPrice": {
            "type": "number",
            "description": "Estimated price of the product",
            "format": "double"
          },
          "clientGroupId": {
            "minLength": 1,
            "type": "string",
            "description": "Product group code"
          },
          "clientGroupDescription": {
            "maxLength": 60,
            "type": "string",
            "description": "Product group description",
            "nullable": true
          },
          "isService": {
            "type": "boolean",
            "description": "Flag to indicate if this item is a service (true/false)\r\nTrue = Service item\r\nFalse = Product item"
          },
          "isGeneric": {
            "type": "boolean",
            "description": "Set this flag as follows:\r\nTrue = Product without a code\r\nFalse = Product with a code",
            "nullable": true
          },
          "status": {
            "type": "boolean",
            "description": "The product statuses can be:\r\nTrue = Active\r\nFalse = Blocked"
          },
          "materialOrigin": {
            "type": "string",
            "description": "Material origin:\r\n1 = Domestic origin\r\n2 = Foreign origin",
            "nullable": true
          },
          "materialType": {
            "maxLength": 20,
            "type": "string",
            "description": "Material application code (tax usage)",
            "nullable": true
          },
          "applicationType": {
            "maxLength": 12,
            "type": "string",
            "description": "Application Type",
            "nullable": true
          },
          "materialCategory": {
            "type": "string",
            "description": "Material accounting code",
            "nullable": true
          },
          "productIdentificationCode": {
            "$ref": "#/components/schemas/ProductIdentification"
          },
          "businessOrganization": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization"
            },
            "description": "Business Organizations is a List consisting of the company code, description, delivery center code, delivery center description and entity type fields.",
            "nullable": true
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupDto"
            },
            "description": "Groups is a List consisting of the `clientGroupID`, `Description`, `IsVisiblePurchisingStucture` and `EnablesMasterRequest`.",
            "nullable": true
          },
          "ledgerAccountCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Ledger Account Code",
            "nullable": true
          },
          "currency": {
            "maxLength": 20,
            "type": "string",
            "description": "Currency",
            "nullable": true
          },
          "taxInformation": {
            "$ref": "#/components/schemas/TaxInformation"
          },
          "stockUnit": {
            "type": "string",
            "description": "Stock Unit",
            "nullable": true
          },
          "estimatedDeadline": {
            "type": "integer",
            "description": "Estimated deadline of the product",
            "format": "int32",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "description": "Purchasing Group",
            "nullable": true
          },
          "tenantAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MyProductAttributeDTO"
            },
            "description": "A list of tenant(workflow) attributes, each consisting of a 'Name' and 'Value'.",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttributeDTO"
            },
            "description": "A list of specific attributes for this product. \r\nEach attribute includes:Name, Type, Size, Description, IsRequired, IsVisibleToSupplier, Help, DefaultValue, Category",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CreatePictureResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateProductClassificationsResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CreateResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateSourceCommand": {
        "type": "object",
        "properties": {
          "clientProductId": {
            "maxLength": 30,
            "type": "string",
            "description": "Client product identifier.",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "Start date of the supply option list.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "End date of the supply option list.",
            "format": "date-time",
            "nullable": true
          },
          "clientSupplierId": {
            "type": "string",
            "description": "Client supplier identifier."
          },
          "supplierId": {
            "type": "integer",
            "description": "Supplier identifier.",
            "format": "int32",
            "nullable": true
          },
          "note": {
            "maxLength": 16,
            "type": "string",
            "description": "Note associated with the supply option list."
          },
          "contractId": {
            "type": "integer",
            "description": "Contract identifier.",
            "format": "int32",
            "nullable": true
          },
          "contractItemId": {
            "type": "integer",
            "description": "Contratct item identifier.",
            "format": "int32",
            "nullable": true
          },
          "clientSupplierProductId": {
            "type": "string",
            "description": "Supplier product identifier in the client ERP.",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Product identifier.",
            "format": "int32",
            "nullable": true
          },
          "isBlocked": {
            "type": "boolean",
            "description": "Is this supply option list blocked? (True/False)\r\n- Blocked list = \"True\".\r\n- Unblocked list = \"False\".",
            "nullable": true
          },
          "hasNeedsPlanning": {
            "type": "boolean",
            "description": "Flag to indicate if a Needs Planning is associated with the supply option list.",
            "nullable": true
          },
          "hasSupplySource": {
            "type": "boolean",
            "description": "Flag to indicate if a Supply Source is associated with the supply option list.",
            "nullable": true
          },
          "isFixed": {
            "type": "boolean",
            "description": "Flag to indicate if the supply option list is fixed",
            "nullable": true
          },
          "group": {
            "$ref": "#/components/schemas/GroupSource"
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization"
            },
            "description": "Business organizations associated with the supply option list."
          },
          "document": {
            "$ref": "#/components/schemas/Document"
          }
        },
        "additionalProperties": false
      },
      "CreateSourceResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CreateTaxInformationResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DeleteAttachmentResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DeletePictureResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DeleteProductClassificationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "DeleteSourceResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "DeleteTaxInformationResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "Document": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllByProductIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductPicture"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "GetAllProductAttributesByIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MyProductAttributeDTO"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllProductAttributesWfByIdResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttributeDTO"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllProductClassificationResponse": {
        "type": "object",
        "properties": {
          "classifications": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Classification"
            }
          }
        },
        "additionalProperties": false
      },
      "GetAllSourceData": {
        "type": "object",
        "properties": {
          "sourceListId": {
            "type": "integer",
            "description": "Identifier for the supply option list.",
            "format": "int32",
            "nullable": true
          },
          "supplierId": {
            "type": "integer",
            "description": "Identifier for the supplier.",
            "format": "int32",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Identifier for the product.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllSourceResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetAllSourceData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllTaxInformationData": {
        "type": "object",
        "properties": {
          "taxId": {
            "type": "integer",
            "description": "ME - Identifier for the product tax information.",
            "format": "int32"
          },
          "clientProductId": {
            "type": "string",
            "description": "ERP product code",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetAllTaxInformationResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetAllTaxInformationData"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetByIdResponse": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "description": "ME product Id",
            "format": "int32"
          },
          "clientReferenceProductId": {
            "type": "string",
            "description": "ME product code",
            "nullable": true
          },
          "clientProductId": {
            "type": "string",
            "description": "ERP product code",
            "nullable": true
          },
          "note": {
            "type": "string",
            "description": "Header note",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "description": "Description complement",
            "nullable": true
          },
          "manufacturer": {
            "type": "string",
            "description": "Manufacturer's name",
            "nullable": true
          },
          "measurementUnit": {
            "type": "string",
            "description": "Measurement unit",
            "nullable": true
          },
          "estimatedPrice": {
            "type": "number",
            "description": "Estimated price of the product",
            "format": "double",
            "nullable": true
          },
          "clientGroupId": {
            "type": "string",
            "description": "Product group code",
            "nullable": true,
            "deprecated": true
          },
          "groupId": {
            "type": "integer",
            "description": "Product group code",
            "format": "int32",
            "nullable": true
          },
          "clientGroupCode": {
            "type": "string",
            "description": "Product group code at the client",
            "nullable": true
          },
          "clientGroupDescription": {
            "type": "string",
            "description": "Product group description",
            "nullable": true
          },
          "isService": {
            "type": "boolean",
            "description": "Flag to indicate if this item is a service (true/false) \r\nTrue = Service item \r\nFalse = Product item",
            "nullable": true
          },
          "isGeneric": {
            "type": "boolean",
            "description": "Set this flag as follows:\r\nTrue = Product without a code\r\nFalse = Product with a code",
            "nullable": true
          },
          "status": {
            "type": "boolean",
            "description": "The product statuses can be:\r\nTrue = Active\r\nFalse = Blocked",
            "nullable": true
          },
          "materialOrigin": {
            "type": "string",
            "description": "Material origin:\r\n1 = Domestic origin \r\n2 = Foreign origin",
            "nullable": true,
            "deprecated": true
          },
          "materialOriginId": {
            "type": "integer",
            "description": "Material origin:\r\n1 = Domestic origin \r\n2 = Foreign origin",
            "format": "int32",
            "nullable": true
          },
          "materialType": {
            "type": "string",
            "description": "Material application code (tax usage)",
            "nullable": true
          },
          "applicationType": {
            "type": "string",
            "description": "Application Type",
            "nullable": true
          },
          "materialCategory": {
            "type": "string",
            "description": "Material accounting code",
            "nullable": true
          },
          "productIdentificationCode": {
            "$ref": "#/components/schemas/ProductIdentification"
          },
          "supplierOwnerId": {
            "type": "integer",
            "description": "The `supplierOwnerId` field is a unique identifier for a supplier responsible for managing and maintaining a product punchout catalog.     \r\nIf this field is not null, this indicates that the product is part of a punchout catalog, which means that it can be viewed by the buyer, but not updated.",
            "format": "int32",
            "nullable": true
          },
          "ledgerAccountCode": {
            "type": "string",
            "description": "Ledger Account Code",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "description": "Currency",
            "nullable": true
          },
          "taxInformation": {
            "$ref": "#/components/schemas/TaxInformation"
          },
          "stockUnit": {
            "type": "string",
            "description": "Stock Unit",
            "nullable": true
          },
          "estimatedDeadline": {
            "type": "integer",
            "description": "Estimated deadline of the product",
            "format": "int32",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "description": "Purchasing Group",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetClassificationByApplicationResponse": {
        "type": "object",
        "properties": {
          "classification": {
            "$ref": "#/components/schemas/Classification"
          }
        },
        "additionalProperties": false
      },
      "GetManyMinimalResponse": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GetByIdResponse"
            }
          },
          "hits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "next": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetPictureMetadataResponse": {
        "type": "object",
        "properties": {
          "contentLength": {
            "type": "integer",
            "description": "Picture content size",
            "format": "int64"
          },
          "fileName": {
            "type": "string",
            "description": "Picture file name",
            "nullable": true
          },
          "contentType": {
            "type": "string",
            "description": "Picture file type",
            "nullable": true
          },
          "date": {
            "type": "string",
            "description": "Picture file date",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetPrimaryPictureByIdResponse": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "integer",
            "description": "A unique identifier or alias for the requesting tenant.",
            "format": "int32"
          },
          "productId": {
            "type": "integer",
            "description": "ME product Id",
            "format": "int32"
          },
          "pictureId": {
            "type": "integer",
            "description": "Product picture Id",
            "format": "int32"
          },
          "isPrimaryPicture": {
            "type": "boolean",
            "description": "If this is true, the picture is set as the primary picture.",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "description": "Date when the picture was added.",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "description": "Date when the picture was updated.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GetSourceByIdResponse": {
        "type": "object",
        "properties": {
          "sourceListId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the source list option.",
            "format": "int32",
            "nullable": true
          },
          "clientProductId": {
            "type": "string",
            "description": "Gets or sets the identifier of the client's product.",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "Gets or sets the start date of the source list option.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "Gets or sets the end date of the source list option.",
            "format": "date-time",
            "nullable": true
          },
          "clientSupplierId": {
            "type": "string",
            "description": "Gets or sets the identifier of the client's supplier."
          },
          "supplierId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the supplier.",
            "format": "int32",
            "nullable": true
          },
          "note": {
            "type": "string",
            "description": "Gets or sets the note associated with the source list option."
          },
          "contractId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the client's contract.",
            "format": "int32",
            "nullable": true
          },
          "contractItemId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the item.",
            "format": "int32",
            "nullable": true
          },
          "clientSupplierProductId": {
            "type": "string",
            "description": "Gets or sets the identifier of the client's supplier product.",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the product.",
            "format": "int32",
            "nullable": true
          },
          "isBlocked": {
            "type": "boolean",
            "description": "Is this supply option list blocked? (True/False)\r\n- Blocked list = \"True\".\r\n- Unblocked list = \"False\".",
            "nullable": true
          },
          "hasNeedsPlanning": {
            "type": "boolean",
            "description": "Flag to indicate if a Needs Planning is associated with the supply option list.",
            "nullable": true
          },
          "hasSupplySource": {
            "type": "boolean",
            "description": "Flag to indicate if a Supply Source is associated with the supply option list.",
            "nullable": true
          },
          "isFixed": {
            "type": "boolean",
            "description": "Flag to indicate if the supply option list is fixed",
            "nullable": true
          },
          "group": {
            "$ref": "#/components/schemas/GroupSource"
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization"
            },
            "description": "Gets or sets the business organizations associated with the source list option."
          },
          "groupId": {
            "type": "integer",
            "description": "Gets or sets the identifier of the group.",
            "format": "int32",
            "nullable": true
          },
          "clientGroupId": {
            "type": "string",
            "description": "Gets or sets the identifier of the client's group.",
            "nullable": true
          },
          "document": {
            "$ref": "#/components/schemas/Document"
          }
        },
        "additionalProperties": false
      },
      "GetTaxInformationByIdResponse": {
        "type": "object",
        "properties": {
          "taxId": {
            "type": "integer",
            "description": "ME - Identifier for the product tax information.",
            "format": "int32"
          },
          "clientProductId": {
            "type": "string",
            "description": "Identifier of the product as registered by the client."
          },
          "clientSupplierId": {
            "type": "string",
            "description": "Identifier of the supplier as defined by the client."
          },
          "clientGroupId": {
            "type": "string",
            "description": "Identifier of the product group or category as defined by the client."
          },
          "issuingStateTax": {
            "type": "string",
            "description": "State of origin (UF) of the product used for ICMS tax calculation."
          },
          "receivingStateTax": {
            "type": "string",
            "description": "Destination state (UF) of the product used for ICMS tax calculation."
          },
          "icmsTax": {
            "type": "number",
            "description": "Amount of ICMS tax calculated for the product.",
            "format": "double"
          },
          "taxBaseAmount": {
            "type": "number",
            "description": "Tax base amount used for calculating ICMS.",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "description": "Start date when this tax configuration becomes valid.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End date for the validity of this tax configuration.",
            "format": "date-time"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates whether this tax configuration is inactive or disabled."
          },
          "applicationType": {
            "type": "string",
            "description": "Code that identifies the product's application or intended use."
          },
          "productIdentificationCode": {
            "type": "string",
            "description": "NCM (Common Mercosur Nomenclature) code used for fiscal classification of the product."
          },
          "materialOrigin": {
            "type": "integer",
            "description": "Material origin:   \r\n1 = Domestic origin\r\n2 = Foreign origin",
            "format": "int32",
            "nullable": true
          },
          "estimatedPrice": {
            "type": "number",
            "description": "Indicates if the product has a fixed unit price based on quantity.",
            "format": "double",
            "nullable": true
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization"
            },
            "description": "Business Organizations is a list consisting of company code, description, delivery center code, delivery center description, and entity type.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GroupDto": {
        "required": [
          "clientGroupId"
        ],
        "type": "object",
        "properties": {
          "clientGroupId": {
            "minLength": 1,
            "type": "string",
            "description": "Product group code"
          },
          "description": {
            "type": "string",
            "description": "Group description",
            "nullable": true
          },
          "isVisiblePurchasingStructure": {
            "type": "boolean",
            "description": "It indicates if the purchasing structure is visible."
          },
          "enablesMasterRequest": {
            "type": "boolean",
            "description": "It indicates if any master request is allowed."
          },
          "permissions": {
            "$ref": "#/components/schemas/GroupPermissionDto"
          },
          "permissionList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupPermissionDto"
            },
            "description": "List of product group permissions. The fields in this property define, for example, if the group can be placed on requests or orders, among others."
          },
          "topGroups": {
            "$ref": "#/components/schemas/GroupTopGroupDto"
          }
        },
        "additionalProperties": false
      },
      "GroupPermission": {
        "type": "object",
        "properties": {
          "permission": {
            "type": "string",
            "nullable": true
          },
          "order": {
            "type": "boolean",
            "nullable": true
          },
          "request": {
            "type": "boolean",
            "nullable": true
          },
          "requestWithEstimatedPrice": {
            "type": "boolean",
            "nullable": true
          },
          "exclusiveSO": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GroupPermissionDto": {
        "type": "object",
        "properties": {
          "permission": {
            "type": "string",
            "description": "Permission type (default \"GENERAL\")",
            "nullable": true
          },
          "order": {
            "type": "boolean",
            "description": "It indicates if the product is allowed to be placed on orders (Default = true).",
            "nullable": true
          },
          "request": {
            "type": "boolean",
            "description": "It indicates if the product is allowed to be placed on requests (Default = true).",
            "nullable": true
          },
          "requestWithEstimatedPrice": {
            "type": "boolean",
            "description": "If true, it places the estimated price in the request.",
            "nullable": true
          },
          "exclusiveSO": {
            "type": "boolean",
            "description": "If True, it is a product exclusively from budget request (Default = false).",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GroupSource": {
        "type": "object",
        "properties": {
          "clientGroupId": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "isVisiblePurchasingStructure": {
            "type": "boolean"
          },
          "enablesMasterRequest": {
            "type": "boolean"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupPermission"
            }
          },
          "topGroups": {
            "$ref": "#/components/schemas/GroupTopGroup"
          }
        },
        "additionalProperties": false
      },
      "GroupTopGroup": {
        "type": "object",
        "properties": {
          "topClientGroupId": {
            "type": "string",
            "nullable": true
          },
          "topDescription": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "GroupTopGroupDto": {
        "type": "object",
        "properties": {
          "topClientGroupId": {
            "type": "string",
            "description": "Top client group Id",
            "nullable": true
          },
          "topDescription": {
            "type": "string",
            "description": "Top group description",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MyProductAttributeDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "ProductAttributeDTO": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "possibleValues": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/ProductAttributeTypeDTO"
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "description": {
            "type": "string"
          },
          "isRequired": {
            "type": "boolean"
          },
          "isVisibleToSupplier": {
            "type": "boolean"
          },
          "help": {
            "type": "string"
          },
          "defaultValue": {
            "type": "string"
          },
          "category": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Represents a specific attribute of a given product."
      },
      "ProductAttributeTypeDTO": {
        "enum": [
          "Character",
          "Data",
          "Integer",
          "Float",
          "Combo",
          "Customized"
        ],
        "type": "string"
      },
      "ProductIdentification": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "value": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProductPicture": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "integer",
            "format": "int32"
          },
          "productId": {
            "type": "integer",
            "format": "int32"
          },
          "pictureId": {
            "type": "integer",
            "format": "int32"
          },
          "isPrimaryPicture": {
            "type": "boolean",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "attachment": {
            "type": "string",
            "format": "binary",
            "nullable": true
          },
          "base64Image": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Tax": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "aliquot": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TaxInformation": {
        "type": "object",
        "properties": {
          "taxes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tax"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TaxInformationCommand": {
        "type": "object",
        "properties": {
          "clientProductId": {
            "type": "string",
            "description": "Identifier of the product as registered by the client."
          },
          "clientSupplierId": {
            "type": "string",
            "description": "Identifier of the supplier as defined by the client."
          },
          "clientGroupId": {
            "type": "string",
            "description": "Identifier of the product group or category as defined by the client."
          },
          "issuingStateTax": {
            "type": "string",
            "description": "State of origin (UF) of the product used for ICMS tax calculation."
          },
          "receivingStateTax": {
            "type": "string",
            "description": "Destination state (UF) of the product used for ICMS tax calculation."
          },
          "icmsTax": {
            "type": "number",
            "description": "Amount of ICMS tax calculated for the product.",
            "format": "double"
          },
          "taxBaseAmount": {
            "type": "number",
            "description": "Tax base amount used for calculating ICMS.",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "description": "Start date when this tax configuration becomes valid.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End date for the validity of this tax configuration.",
            "format": "date-time"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates whether this tax configuration is inactive or disabled."
          },
          "applicationType": {
            "type": "string",
            "description": "Code that identifies the product's application or intended use."
          },
          "productIdentificationCode": {
            "type": "string",
            "description": "NCM (Common Mercosur Nomenclature) code used for fiscal classification of the product."
          },
          "materialOrigin": {
            "type": "integer",
            "description": "Material origin:   \r\n1 = Domestic origin\r\n2 = Foreign origin",
            "format": "int32",
            "nullable": true
          },
          "estimatedPrice": {
            "type": "number",
            "description": "Indicates if the product has a fixed unit price based on quantity.",
            "format": "double",
            "nullable": true
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization"
            },
            "description": "Business Organizations is a list consisting of company code, description, delivery center code, delivery center description, and entity type.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateCommand": {
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 125,
            "type": "string",
            "description": "Product short description",
            "nullable": true
          },
          "estimatedPrice": {
            "type": "number",
            "description": "Estimated price of the product",
            "format": "double",
            "nullable": true
          },
          "status": {
            "type": "boolean",
            "description": "The product statuses can be:\r\nTrue = Active\r\nFalse = Blocked"
          },
          "materialOrigin": {
            "maxLength": 20,
            "type": "string",
            "description": "Material origin:\r\n1 = Domestic origin\r\n2 = Foreign origin",
            "nullable": true
          },
          "isGeneric": {
            "type": "boolean",
            "description": "Set this flag as follows:\r\nTrue = Product without a code\r\nFalse = Product with a code",
            "nullable": true
          },
          "complement": {
            "type": "string",
            "description": "Description complement",
            "nullable": true
          },
          "note": {
            "maxLength": 100,
            "type": "string",
            "description": "Note",
            "nullable": true
          },
          "clientReferenceProductId": {
            "maxLength": 30,
            "type": "string",
            "description": "ME product code",
            "nullable": true
          },
          "measurementUnit": {
            "maxLength": 20,
            "type": "string",
            "description": "Measurement unit"
          },
          "clientGroupId": {
            "maxLength": 30,
            "type": "string",
            "description": "Product group code",
            "nullable": true
          },
          "clientGroupDescription": {
            "maxLength": 60,
            "type": "string",
            "description": "Product group description",
            "nullable": true
          },
          "isService": {
            "type": "boolean",
            "description": "Flag to indicate if this item is a service (true/false)\r\nTrue = Service item\r\nFalse = Product item"
          },
          "materialType": {
            "maxLength": 20,
            "type": "string",
            "description": "Material application code (tax usage)",
            "nullable": true
          },
          "applicationType": {
            "maxLength": 12,
            "type": "string",
            "description": "Application Type",
            "nullable": true
          },
          "materialCategory": {
            "maxLength": 30,
            "type": "string",
            "description": "Material accounting code",
            "nullable": true
          },
          "clientProductId": {
            "maxLength": 30,
            "type": "string",
            "description": "ERP product code",
            "nullable": true
          },
          "productIdentificationCode": {
            "$ref": "#/components/schemas/ProductIdentification"
          },
          "businessOrganization": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization"
            },
            "description": "Business Organizations is a List consisting of the company code, description, delivery center code, delivery center description and entity type fields.",
            "nullable": true
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupDto"
            },
            "description": "Groups is a List consisting of the `clientGroupID`, `Description`, `IsVisiblePurchisingStucture` and `EnablesMasterRequest`.",
            "nullable": true
          },
          "ledgerAccountCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Ledger Account Code",
            "nullable": true
          },
          "currency": {
            "maxLength": 20,
            "type": "string",
            "description": "Currency",
            "nullable": true
          },
          "stockUnit": {
            "type": "string",
            "description": "Stock Unit",
            "nullable": true
          },
          "taxInformation": {
            "$ref": "#/components/schemas/TaxInformation"
          },
          "estimatedDeadline": {
            "type": "integer",
            "description": "Estimated deadline of the product",
            "format": "int32",
            "nullable": true
          },
          "purchasingGroup": {
            "type": "string",
            "description": "Purchasing Group",
            "nullable": true
          },
          "tenantAttributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MyProductAttributeDTO"
            },
            "description": "A list of tenant(workflow) attributes, each consisting of a 'Name' and 'Value'.",
            "nullable": true
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttributeDTO"
            },
            "description": "A list of specific attributes for this product. \r\nEach attribute includes:Name, Type, Size, Description, IsRequired, IsVisibleToSupplier, Help, DefaultValue, Category",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdatePrimaryPictureResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UpdateProductClassificationResponse": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "UpdateResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UpdateSourceCommand": {
        "type": "object",
        "properties": {
          "sourceListId": {
            "type": "integer",
            "description": "ME - Identifier for the supply option list.",
            "format": "int32",
            "nullable": true
          },
          "clientProductId": {
            "maxLength": 30,
            "type": "string",
            "description": "Client product identifier.",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "Start date of the supply option list.",
            "format": "date-time",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "description": "End date of the supply option list.",
            "format": "date-time",
            "nullable": true
          },
          "clientSupplierId": {
            "type": "string",
            "description": "Client supplier identifier."
          },
          "supplierId": {
            "type": "integer",
            "description": "Supplier identifier.",
            "format": "int32",
            "nullable": true
          },
          "note": {
            "maxLength": 16,
            "type": "string",
            "description": "Note associated with the supply option list."
          },
          "contractId": {
            "type": "integer",
            "description": "Contract identifier.",
            "format": "int32",
            "nullable": true
          },
          "contractItemId": {
            "type": "integer",
            "description": "Item identifier.",
            "format": "int32",
            "nullable": true
          },
          "clientSupplierProductId": {
            "type": "string",
            "description": "Supplier product identifier in the client ERP.",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Product identifier.",
            "format": "int32",
            "nullable": true
          },
          "isBlocked": {
            "type": "boolean",
            "description": "Is this supply option list blocked? (True/False)\r\n- Blocked list = \"True\".\r\n- Unblocked list = \"False\".",
            "nullable": true
          },
          "hasNeedsPlanning": {
            "type": "boolean",
            "description": "Flag to indicate if a Needs Planning is associated with the supply option list.",
            "nullable": true
          },
          "hasSupplySource": {
            "type": "boolean",
            "description": "Flag to indicate if a Supply Source is associated with the supply option list.",
            "nullable": true
          },
          "isFixed": {
            "type": "boolean",
            "description": "Flag to indicate if the supply option list is fixed",
            "nullable": true
          },
          "group": {
            "$ref": "#/components/schemas/GroupSource"
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization"
            },
            "description": "Business organizations associated with the supply option list."
          },
          "document": {
            "$ref": "#/components/schemas/Document"
          }
        },
        "additionalProperties": false
      },
      "UpdateSourceResponse": {
        "type": "object",
        "properties": {
          "correlationId": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "UpdateTaxInformationCommand": {
        "required": [
          "icmsTax",
          "isEnabled",
          "issuingStateTax",
          "receivingStateTax",
          "taxBaseAmount"
        ],
        "type": "object",
        "properties": {
          "clientProductId": {
            "type": "string",
            "description": "Identifier of the product as registered by the client."
          },
          "clientSupplierId": {
            "type": "string",
            "description": "Identifier of the supplier as defined by the client."
          },
          "clientGroupId": {
            "type": "string",
            "description": "Identifier of the product group or category as defined by the client."
          },
          "issuingStateTax": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string",
            "description": "State of origin (UF) of the product used for ICMS tax calculation."
          },
          "receivingStateTax": {
            "maxLength": 2,
            "minLength": 2,
            "type": "string",
            "description": "Destination state (UF) of the product used for ICMS tax calculation."
          },
          "icmsTax": {
            "type": "number",
            "description": "Amount of ICMS tax calculated for the product.",
            "format": "double"
          },
          "taxBaseAmount": {
            "type": "number",
            "description": "Tax base amount used for calculating ICMS.",
            "format": "double"
          },
          "startDate": {
            "type": "string",
            "description": "Start date when this tax configuration becomes valid.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "End date for the validity of this tax configuration.",
            "format": "date-time"
          },
          "isEnabled": {
            "type": "boolean",
            "description": "Indicates whether this tax configuration is inactive or disabled."
          },
          "applicationType": {
            "type": "string",
            "description": "Code that identifies the product's application or intended use."
          },
          "productIdentificationCode": {
            "type": "string",
            "description": "NCM (Common Mercosur Nomenclature) code used for fiscal classification of the product."
          },
          "materialOrigin": {
            "type": "integer",
            "description": "Identifier of the material's origin (e.g., domestic, imported) used in tax calculations.    \r\n1 = Domestic origin\r\n2 = Foreign origin",
            "format": "int32",
            "nullable": true
          },
          "estimatedPrice": {
            "type": "number",
            "description": "Indicates if the product has a fixed unit price based on quantity.",
            "format": "double",
            "nullable": true
          },
          "businessOrganizations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BusinessOrganization"
            },
            "description": "Business Organizations is a list consisting of company code, description, delivery center code, delivery center description, and entity type.",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "Please enter the word 'Bearer' followed by a space and then your JWT.",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ]
}