{
  "openapi": "3.0.1",
  "info": {
    "title": "Cin7 API",
    "description": "HTTP API for Cin7 Omni.",
    "version": "v1"
  },
  "paths": {
    "/api/v1/Adjustments/{id}": {
      "get": {
        "tags": [
          "Adjustments"
        ],
        "summary": "Get an Adjustment.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Adjustments": {
      "get": {
        "tags": [
          "Adjustments"
        ],
        "summary": "Get a list of Adjustments.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Adjustments"
        ],
        "summary": "Create a list of Adjustments.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Adjustments"
        ],
        "summary": "Update a list of Adjustments.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.Adjustment"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/BomMasters/{id}": {
      "get": {
        "tags": [
          "BomMasters"
        ],
        "summary": "Get a Bom Master.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomMaster"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomMaster"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomMaster"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/BomMasters": {
      "get": {
        "tags": [
          "BomMasters"
        ],
        "summary": "Get a list of BOM Masters.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomMaster"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomMaster"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomMaster"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/BomMasters/{id}": {
      "get": {
        "tags": [
          "BomMastersV2"
        ],
        "summary": "Get a Bom Master.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.V2.BomMasterV2"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.V2.BomMasterV2"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.V2.BomMasterV2"
                }
              }
            }
          }
        }
      }
    },
    "/api/v2/BomMasters": {
      "get": {
        "tags": [
          "BomMastersV2"
        ],
        "summary": "Get a list of BOM Masters.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.V2.BomMasterV2"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.V2.BomMasterV2"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.V2.BomMasterV2"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Branches/{id}": {
      "get": {
        "tags": [
          "Branches"
        ],
        "summary": "Get a Branch.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Branches": {
      "get": {
        "tags": [
          "Branches"
        ],
        "summary": "Get a list of Branches.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "Filter by an any element",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "Order by any element returned",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Branches"
        ],
        "summary": "Create a list of Branches.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Branches"
        ],
        "summary": "Update a list of Branches.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Branch"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/BranchTransfers/{id}": {
      "get": {
        "tags": [
          "BranchTransfers"
        ],
        "summary": "Get a Branch Transfer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/BranchTransfers": {
      "get": {
        "tags": [
          "BranchTransfers"
        ],
        "summary": "Get a list of Branch Transfers.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "BranchTransfers"
        ],
        "summary": "Create a list of Branch Transfers.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "BranchTransfers"
        ],
        "summary": "Update a list of Branch Transfers.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Cartons/{id}": {
      "get": {
        "tags": [
          "Cartons"
        ],
        "summary": "Get the Carton details for a Sales Order.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Order Id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Cartons.ApiCarton"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Cartons.ApiCarton"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Cartons.ApiCarton"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Cartons"
        ],
        "summary": "Replace the list of Cartons for a Sales Order.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Order Id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Cartons.ApiCarton"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Cartons.ApiCarton"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Cartons.ApiCarton"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Cartons.ApiCarton"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Contacts/{id}": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get a Contact.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Contacts"
        ],
        "summary": "Delete a Contact.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.ResultItem"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.ResultItem"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.ResultItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Contacts": {
      "get": {
        "tags": [
          "Contacts"
        ],
        "summary": "Get a list of Contacts.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "Filter by an any element",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "Order by any element returned",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Contacts"
        ],
        "summary": "Create a list of Contacts.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Contacts"
        ],
        "summary": "Update a list of Contacts.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.Contact"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/CreditNotes/{id}": {
      "get": {
        "tags": [
          "CreditNotes"
        ],
        "summary": "Get a Credit Note.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/CreditNotes": {
      "get": {
        "tags": [
          "CreditNotes"
        ],
        "summary": "Get a list of Credit Notes.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CreditNotes"
        ],
        "summary": "Create a list of Credit Notes.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "CreditNotes"
        ],
        "summary": "Update a list of Credit Notes.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNote"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/PaymentFeesAndPayouts/Fees": {
      "get": {
        "tags": [
          "FeesAndPayouts"
        ],
        "summary": "Get a list of payment fees.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.FeesAndPayouts.FeesAndPayoutsDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.FeesAndPayouts.FeesAndPayoutsDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.FeesAndPayouts.FeesAndPayoutsDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/PaymentFeesAndPayouts/Payouts": {
      "get": {
        "tags": [
          "FeesAndPayouts"
        ],
        "summary": "Get a list of payouts.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.FeesAndPayouts.FeesAndPayoutsDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.FeesAndPayouts.FeesAndPayoutsDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.FeesAndPayouts.FeesAndPayoutsDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Payments/{id}": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get a Payment.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Payments"
        ],
        "summary": "Delete a Payment.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The payment record Id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.ResultItem"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.ResultItem"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.ResultItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Payments": {
      "get": {
        "tags": [
          "Payments"
        ],
        "summary": "Get a list of Payments",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Payments"
        ],
        "summary": "Create a list of Payments.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Payments"
        ],
        "summary": "Update a Payments.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Payment"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ProductCategories/{id}": {
      "get": {
        "tags": [
          "ProductCategories"
        ],
        "summary": "Get a Product Category",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategory"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategory"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategory"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ProductCategories": {
      "get": {
        "tags": [
          "ProductCategories"
        ],
        "summary": "Get a list of Product Categories",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategory"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategory"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategory"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ProductCategories"
        ],
        "summary": "Creates new Product Categories.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategories.CreateProductCategoryRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategories.CreateProductCategoryRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategories.CreateProductCategoryRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategories.CreateProductCategoryRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ProductCategories"
        ],
        "summary": "Updates Product Categories.",
        "requestBody": {
          "description": "Leave fields empty to clear them, null fields will not be updated",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategories.UpdateProductCategoryRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategories.UpdateProductCategoryRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategories.UpdateProductCategoryRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductCategories.UpdateProductCategoryRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ProductImages": {
      "post": {
        "tags": [
          "ProductImages"
        ],
        "parameters": [
          {
            "name": "productId",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "imagePriority",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductImages.ImagePriority"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                }
              },
              "encoding": {
                "file": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.ResultItem"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.ResultItem"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.ResultItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ProductionJobs/{id}": {
      "get": {
        "tags": [
          "ProductionJobs"
        ],
        "summary": "Get a Production Job.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ProductionJobs": {
      "get": {
        "tags": [
          "ProductionJobs"
        ],
        "summary": "Get a list of Production Jobs.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ProductionJobs"
        ],
        "summary": "Create a list of Production Jobs.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ProductionJobs"
        ],
        "summary": "Update a list of Production Jobs.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ProductOptions/{id}": {
      "get": {
        "tags": [
          "ProductOptions"
        ],
        "summary": "Get a Product Option.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOption"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOption"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOption"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ProductOptions": {
      "get": {
        "tags": [
          "ProductOptions"
        ],
        "summary": "Get a list of Product Options.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOption"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOption"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOption"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ProductOptions"
        ],
        "summary": "Create a list of ProductOptions",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductOptionsRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductOptionsRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductOptionsRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductOptionsRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ProductOptions"
        ],
        "summary": "Update a list of ProductOptions",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UpdateProductOptionsRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UpdateProductOptionsRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UpdateProductOptionsRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UpdateProductOptionsRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Products/{id}": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get a Product.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Product"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Product"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Product"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Products": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get a list of Products.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Product"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Product"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Product"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Creates a list of Products. \r\nDuplicated style codes or product option code in the request will cause the request to be rejected with a 400. \r\nIf a product with the same style code or product option code already exists, it will be skipped and not created.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductRequest"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Products"
        ],
        "summary": "Updates a list of Products.\r\nIf a product with the same style code or product option code already exists, it will be skipped and not updated.\r\nLeave fields empty to clear them, leave fields null to not update them.",
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "maxItems": 250,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UpdateProductRequest"
                }
              }
            },
            "application/json": {
              "schema": {
                "maxItems": 250,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UpdateProductRequest"
                }
              }
            },
            "text/json": {
              "schema": {
                "maxItems": 250,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UpdateProductRequest"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "maxItems": 250,
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UpdateProductRequest"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/PurchaseOrders/{id}": {
      "get": {
        "tags": [
          "PurchaseOrders"
        ],
        "summary": "Get a Purchase Order.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/PurchaseOrders": {
      "get": {
        "tags": [
          "PurchaseOrders"
        ],
        "summary": "Get a list of Purchase Orders.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PurchaseOrders"
        ],
        "summary": "Create a list of Purchase Orders.",
        "parameters": [
          {
            "name": "loadboms",
            "in": "query",
            "description": "An option to expand BOM's (This cannot be undone)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PurchaseOrders"
        ],
        "summary": "Update a list of Purchase Orders.",
        "parameters": [
          {
            "name": "loadboms",
            "in": "query",
            "description": "An option to expand BOM's (This cannot be undone)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Quotes/{id}": {
      "get": {
        "tags": [
          "Quotes"
        ],
        "summary": "Get a Quote",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Quotes": {
      "get": {
        "tags": [
          "Quotes"
        ],
        "summary": "Get a list of Quotes",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Quotes"
        ],
        "summary": "Create a list of Quotes",
        "parameters": [
          {
            "name": "loadboms",
            "in": "query",
            "description": "An option to expand BOM's (This cannot be undone)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Quotes"
        ],
        "summary": "Update a list of Quotes",
        "parameters": [
          {
            "name": "loadboms",
            "in": "query",
            "description": "An option to expand BOM's (This cannot be undone)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.Quote"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/SalesOrders/{id}": {
      "get": {
        "tags": [
          "SalesOrders"
        ],
        "summary": "Get a Sales Order.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/SalesOrders": {
      "get": {
        "tags": [
          "SalesOrders"
        ],
        "summary": "Get a list of Sales Orders.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "SalesOrders"
        ],
        "summary": "Create a list of Sales Orders.",
        "parameters": [
          {
            "name": "loadboms",
            "in": "query",
            "description": "An option to expand BOM's (This cannot be undone)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "SalesOrders"
        ],
        "summary": "Update a list of Sales Orders.",
        "parameters": [
          {
            "name": "loadboms",
            "in": "query",
            "description": "An option to expand BOM's (This cannot be undone)",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              }
            },
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/SalesOrdersWithCartons/{id}": {
      "get": {
        "tags": [
          "SalesOrdersWithCartons"
        ],
        "summary": "Get a Sales Order with it's Carton details.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Order Id",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderWithCartons"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderWithCartons"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderWithCartons"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/SalesOrdersWithCartons": {
      "get": {
        "tags": [
          "SalesOrdersWithCartons"
        ],
        "summary": "Get a list of Sales Orders with their Carton details.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderWithCartons"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderWithCartons"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderWithCartons"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/SerialNumbers/{id}": {
      "get": {
        "tags": [
          "SerialNumbers"
        ],
        "summary": "Get a Serial Number.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SerialNumber"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SerialNumber"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SerialNumber"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/SerialNumbers": {
      "get": {
        "tags": [
          "SerialNumbers"
        ],
        "summary": "Get a list of Serial Numbers.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SerialNumber"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SerialNumber"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SerialNumber"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/SizeRanges/{id}": {
      "get": {
        "tags": [
          "SizeRanges"
        ],
        "summary": "Get SizeRange",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.SizeRanges.SizeRange"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.SizeRanges.SizeRange"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.SizeRanges.SizeRange"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/SizeRanges": {
      "get": {
        "tags": [
          "SizeRanges"
        ],
        "summary": "Get All SizeRanges",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.SizeRanges.SizeRange"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.SizeRanges.SizeRange"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.SizeRanges.SizeRange"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Stock/{barcode}": {
      "get": {
        "tags": [
          "Stock"
        ],
        "summary": "Get a Stock Unit.",
        "parameters": [
          {
            "name": "barcode",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockUnit"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockUnit"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockUnit"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Stock": {
      "get": {
        "tags": [
          "Stock"
        ],
        "summary": "Get a list of Stock Units.",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockUnit"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockUnit"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockUnit"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Users/{id}": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get a User.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.User"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.User"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.User"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Users": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get a list of Users.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.User"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.User"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.User"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Voucher/{code}": {
      "get": {
        "tags": [
          "Voucher"
        ],
        "summary": "Get a Voucher.",
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Voucher"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Voucher"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Voucher"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/Voucher": {
      "get": {
        "tags": [
          "Voucher"
        ],
        "summary": "Get a list of Vouchers",
        "parameters": [
          {
            "name": "fields",
            "in": "query",
            "description": "A comma-separated list of field names",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "description": "A where clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "An order by clause",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "The page number (default: 1)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 1
            }
          },
          {
            "name": "rows",
            "in": "query",
            "description": "Rows per page (default: 50, maximum: 250)",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Voucher"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Voucher"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Voucher"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Cin7.API.AspNetCore.Models.AccountingAttributes": {
        "type": "object",
        "properties": {
          "importDate": {
            "type": "string",
            "description": "The date an invoice was imported to a Cin7 accounts accounting software.",
            "format": "date-time",
            "nullable": true
          },
          "accountingImportStatus": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.AccountingImportStatus"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.AccountingImportStatus": {
        "enum": [
          0,
          1,
          -2,
          -1
        ],
        "type": "integer",
        "description": "The Accounting Integration Status",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.Adjustments.Adjustment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Order created date",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Order last modified date",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "The ID for the User who created the Transaction.",
            "format": "int32"
          },
          "processedBy": {
            "type": "integer",
            "description": "The ID for the User who processed the Transaction.",
            "format": "int32"
          },
          "isApproved": {
            "type": "boolean",
            "description": "Is Approved (default: true)",
            "nullable": true
          },
          "reference": {
            "maxLength": 20,
            "type": "string",
            "description": "A unique order reference (leave blank to auto-generate in an insert).",
            "nullable": true
          },
          "branchId": {
            "type": "integer",
            "description": "Branch ID.",
            "format": "int32"
          },
          "completedDate": {
            "type": "string",
            "description": "Completed Date.",
            "format": "date-time",
            "nullable": true
          },
          "adjustInAccountingSystem": {
            "type": "string",
            "description": "Date to adjust in Accounting system.",
            "format": "date-time",
            "nullable": true
          },
          "adjustmentReason": {
            "type": "string",
            "description": "The reason for adjusting Stock.",
            "nullable": true
          },
          "alternativeAccountCode": {
            "type": "string",
            "description": "Alternative GL Account.",
            "nullable": true
          },
          "productTotal": {
            "type": "number",
            "description": "Product Total.",
            "format": "double"
          },
          "source": {
            "type": "string",
            "description": "The source of the Transaction.",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Adjustments.AdjustmentItem"
            },
            "description": "Line Items.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.Adjustments.AdjustmentItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 ID",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "transactionId": {
            "type": "integer",
            "description": "Transaction ID e.g. Sales Order Id, Quote Id or Purchase Order Id",
            "format": "int32"
          },
          "parentId": {
            "type": "integer",
            "description": "Parent Line Item ID (Read-only)",
            "format": "int32",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Product ID (Read-only)",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "The product option ID (Optional); ProductOptionId or Code should be specified to link a product to the line item.",
            "format": "int32"
          },
          "integrationRef": {
            "type": "string",
            "description": "Integration reference",
            "nullable": true
          },
          "sort": {
            "type": "integer",
            "description": "Sort (or sequence) of line items",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3 (required for size products)",
            "nullable": true
          },
          "qty": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "nullable": true
          },
          "qtyAdjusted": {
            "type": "number",
            "description": "Quantity Adjusted.",
            "format": "double",
            "nullable": true
          },
          "holdingQty": {
            "type": "number",
            "description": "Holding Quantity.",
            "format": "double",
            "nullable": true
          },
          "account": {
            "type": "string",
            "description": "GL Account Code.",
            "nullable": true
          },
          "unitCost": {
            "type": "number",
            "description": "Unit Cost.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.BomComponent": {
        "required": [
          "qty"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 ID",
            "format": "int32"
          },
          "bomId": {
            "type": "integer",
            "description": "The Production Job ID",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "productId": {
            "type": "integer",
            "description": "Product ID",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "Product option ID",
            "format": "int32"
          },
          "type": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomItemType"
          },
          "sort": {
            "type": "integer",
            "description": "Sort Order",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "Item Code",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item Name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Notes",
            "nullable": true
          },
          "qty": {
            "type": "number",
            "description": "Standard Qty",
            "format": "double"
          },
          "unitCost": {
            "type": "number",
            "description": "Unit Cost",
            "format": "double"
          },
          "parentId": {
            "type": "integer",
            "description": "Product Id",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.BomItemType": {
        "enum": [
          0,
          10,
          20,
          30
        ],
        "type": "integer",
        "description": "Production Job item Type.",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.BomMaster": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "A unique Job ID.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date time.",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last modified date time.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "Created by User ID.",
            "format": "int32"
          },
          "modifiedBy": {
            "type": "integer",
            "description": "Modified by User ID.",
            "format": "int32"
          },
          "productionNotes": {
            "type": "string",
            "description": "Production Notes.",
            "nullable": true
          },
          "reference": {
            "maxLength": 20,
            "type": "string",
            "description": "The unique Job reference.",
            "nullable": true
          },
          "product": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomProduct"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.BomProduct": {
        "required": [
          "qty"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 ID",
            "format": "int32"
          },
          "bomId": {
            "type": "integer",
            "description": "The Production Job ID",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "productId": {
            "type": "integer",
            "description": "Product ID",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "Product option ID",
            "format": "int32"
          },
          "type": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomItemType"
          },
          "sort": {
            "type": "integer",
            "description": "Sort Order",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "Item Code",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item Name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Notes",
            "nullable": true
          },
          "qty": {
            "type": "number",
            "description": "Standard Qty",
            "format": "double"
          },
          "unitCost": {
            "type": "number",
            "description": "Unit Cost",
            "format": "double"
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomComponent"
            },
            "description": "Product Components",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.Branch": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created Date",
            "format": "date-time"
          },
          "modifiedDate": {
            "type": "string",
            "description": "Modified Date",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean",
            "description": "Is Active"
          },
          "company": {
            "maxLength": 250,
            "type": "string",
            "description": "Company",
            "nullable": true
          },
          "firstName": {
            "maxLength": 250,
            "type": "string",
            "description": "First Name",
            "nullable": true
          },
          "lastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Last Name",
            "nullable": true
          },
          "jobTitle": {
            "maxLength": 250,
            "type": "string",
            "description": "Job Title",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "A unique email address",
            "format": "email",
            "nullable": true
          },
          "website": {
            "maxLength": 50,
            "type": "string",
            "description": "Website",
            "nullable": true
          },
          "phone": {
            "maxLength": 50,
            "type": "string",
            "description": "Phone",
            "nullable": true
          },
          "fax": {
            "maxLength": 50,
            "type": "string",
            "description": "Fax",
            "nullable": true
          },
          "mobile": {
            "maxLength": 50,
            "type": "string",
            "description": "Mobile",
            "nullable": true
          },
          "address1": {
            "maxLength": 50,
            "type": "string",
            "description": "Address 1",
            "nullable": true
          },
          "address2": {
            "maxLength": 50,
            "type": "string",
            "description": "Address 2",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "type": "string",
            "description": "City",
            "nullable": true
          },
          "state": {
            "maxLength": 50,
            "type": "string",
            "description": "State",
            "nullable": true
          },
          "postCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Post Code",
            "nullable": true
          },
          "country": {
            "maxLength": 50,
            "type": "string",
            "description": "Country",
            "nullable": true
          },
          "postalAddress1": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal Address 1",
            "nullable": true
          },
          "postalAddress2": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal Address 2",
            "nullable": true
          },
          "postalCity": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal City",
            "nullable": true
          },
          "postalPostCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal Post Code",
            "nullable": true
          },
          "postalState": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal State",
            "nullable": true
          },
          "postalCountry": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal Country",
            "nullable": true
          },
          "notes": {
            "maxLength": 250,
            "type": "string",
            "description": "Notes",
            "nullable": true
          },
          "integrationRef": {
            "type": "string",
            "description": "Integration reference.",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom fields.",
            "nullable": true
          },
          "secondaryContacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SubContact"
            },
            "description": "Secondary Contacts",
            "nullable": true
          },
          "branchType": {
            "maxLength": 250,
            "type": "string",
            "description": "Branch Type",
            "nullable": true
          },
          "stockControlOptions": {
            "type": "string",
            "description": "Stock control options.",
            "nullable": true
          },
          "taxStatus": {
            "type": "string",
            "description": "Tax Status",
            "nullable": true
          },
          "accountNumber": {
            "type": "string",
            "nullable": true
          },
          "branchLocations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.Enterprise.DataAccess.Models.BranchLocation"
            },
            "description": "Branch Locations.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransfer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "description": "Order created date",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Order last modified date",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "description": "The ID for the User who created the Transaction.",
            "format": "int32",
            "nullable": true
          },
          "processedBy": {
            "type": "integer",
            "description": "The ID for the User who processed the Transaction.",
            "format": "int32",
            "nullable": true
          },
          "approvedBy": {
            "type": "integer",
            "description": "The ID of the User who approved the Branch Transfer.",
            "format": "int32",
            "nullable": true
          },
          "isApproved": {
            "type": "boolean",
            "description": "Is Approved (default: true)",
            "nullable": true
          },
          "reference": {
            "maxLength": 20,
            "type": "string",
            "description": "A unique reference.",
            "nullable": true,
            "readOnly": true
          },
          "branchEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Branch email",
            "format": "email",
            "nullable": true
          },
          "deliveryInstructions": {
            "maxLength": 2000,
            "type": "string",
            "description": "Delivery instructions e.g. Leave at the door, ​beware the dog.",
            "nullable": true
          },
          "internalComments": {
            "type": "string",
            "description": "Internal comment",
            "nullable": true
          },
          "productTotal": {
            "type": "number",
            "description": "Product Total",
            "format": "double",
            "nullable": true,
            "readOnly": true
          },
          "firstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact first name",
            "nullable": true
          },
          "lastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact last name",
            "nullable": true
          },
          "company": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact company",
            "nullable": true
          },
          "email": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact email address, could be different from MemberEmail assigned to the order",
            "format": "email",
            "nullable": true
          },
          "phone": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact phone",
            "nullable": true
          },
          "mobile": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact mobile",
            "nullable": true
          },
          "fax": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact fax",
            "nullable": true
          },
          "projectName": {
            "type": "string",
            "description": "Project Name",
            "nullable": true
          },
          "trackingCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Shipping tracking code",
            "nullable": true
          },
          "source": {
            "type": "string",
            "description": "The source of the Transaction.",
            "nullable": true
          },
          "sourceBranchId": {
            "type": "integer",
            "description": "Source Branch ID",
            "format": "int32",
            "nullable": true
          },
          "destinationBranchId": {
            "type": "integer",
            "description": "Destination Branch ID",
            "format": "int32",
            "nullable": true
          },
          "approvalDate": {
            "type": "string",
            "description": "Approval Date",
            "format": "date-time",
            "nullable": true
          },
          "dispatchedDate": {
            "type": "string",
            "description": "Dispatched Date",
            "format": "date-time",
            "nullable": true
          },
          "receivedDate": {
            "type": "string",
            "description": "Received Date",
            "format": "date-time",
            "nullable": true
          },
          "stage": {
            "type": "string",
            "description": "Stage",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom Fields",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransferItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.BranchTransfers.BranchTransferItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "transactionId": {
            "type": "integer",
            "description": "Transaction ID e.g. Sales Order Id, Quote Id or Purchase Order Id",
            "format": "int32"
          },
          "parentId": {
            "type": "integer",
            "description": "Parent Line Item ID (Read-only)",
            "format": "int32",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Product ID (Read-only)",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "The product option ID (Optional); ProductOptionId or Code should be specified to link a product to the line item.",
            "format": "int32"
          },
          "integrationRef": {
            "type": "string",
            "description": "Integration reference",
            "nullable": true
          },
          "sort": {
            "type": "integer",
            "description": "Sort (or sequence) of line items",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3 (required for size products)",
            "nullable": true
          },
          "qty": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "nullable": true
          },
          "qtyTransferred": {
            "type": "integer",
            "description": "Quantity Transferred; this field is read-only, Branch Transfers must be dispatched and completed in Cin7.",
            "format": "int32"
          },
          "unitCost": {
            "type": "number",
            "description": "Unit Cost",
            "format": "double"
          },
          "sizes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Size"
            },
            "description": "Sizes; this field is read-only.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.Cartons.ApiCarton": {
        "required": [
          "cartonItems",
          "sscc"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maxLength": 20,
            "type": "string",
            "description": "Carton Number. Numbers only.",
            "nullable": true
          },
          "sscc": {
            "maxLength": 20,
            "minLength": 18,
            "type": "string",
            "description": "SSCC Number. Numbers only."
          },
          "length": {
            "type": "number",
            "description": "Length",
            "format": "double",
            "nullable": true
          },
          "depth": {
            "type": "number",
            "description": "Depth",
            "format": "double",
            "nullable": true
          },
          "height": {
            "type": "number",
            "description": "Height",
            "format": "double",
            "nullable": true
          },
          "volume": {
            "type": "number",
            "description": "Volume",
            "format": "double",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "description": "Weight",
            "format": "double",
            "nullable": true
          },
          "trackingNumber": {
            "maxLength": 50,
            "type": "string",
            "description": "Tracking Number",
            "nullable": true
          },
          "cartonItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Cartons.ApiCartonLineItem"
            },
            "description": "Carton Items"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.Cartons.ApiCartonLineItem": {
        "required": [
          "productCode",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "lineItemId": {
            "type": "integer",
            "description": "Cin7 Sales Order Line Item ID",
            "format": "int32"
          },
          "productCode": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Product Code/SKU. Used to match the LineItemId if none supplied."
          },
          "batchNumber": {
            "maxLength": 50,
            "type": "string",
            "description": "Batch Number",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "Quantity",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.Contacts.AccountingIntegrationId": {
        "type": "object",
        "properties": {
          "xero": {
            "type": "string",
            "nullable": true
          },
          "quickBooksOnline": {
            "type": "string",
            "nullable": true
          },
          "quickBooksDesktop": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.Contacts.Contact": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created Date",
            "format": "date-time"
          },
          "modifiedDate": {
            "type": "string",
            "description": "Modified Date",
            "format": "date-time"
          },
          "isActive": {
            "type": "boolean",
            "description": "Is Active"
          },
          "company": {
            "maxLength": 250,
            "type": "string",
            "description": "Company",
            "nullable": true
          },
          "firstName": {
            "maxLength": 250,
            "type": "string",
            "description": "First Name",
            "nullable": true
          },
          "lastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Last Name",
            "nullable": true
          },
          "jobTitle": {
            "maxLength": 250,
            "type": "string",
            "description": "Job Title",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "A unique email address",
            "format": "email",
            "nullable": true
          },
          "website": {
            "maxLength": 50,
            "type": "string",
            "description": "Website",
            "nullable": true
          },
          "phone": {
            "maxLength": 50,
            "type": "string",
            "description": "Phone",
            "nullable": true
          },
          "fax": {
            "maxLength": 50,
            "type": "string",
            "description": "Fax",
            "nullable": true
          },
          "mobile": {
            "maxLength": 50,
            "type": "string",
            "description": "Mobile",
            "nullable": true
          },
          "address1": {
            "maxLength": 50,
            "type": "string",
            "description": "Address 1",
            "nullable": true
          },
          "address2": {
            "maxLength": 50,
            "type": "string",
            "description": "Address 2",
            "nullable": true
          },
          "city": {
            "maxLength": 50,
            "type": "string",
            "description": "City",
            "nullable": true
          },
          "state": {
            "maxLength": 50,
            "type": "string",
            "description": "State",
            "nullable": true
          },
          "postCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Post Code",
            "nullable": true
          },
          "country": {
            "maxLength": 50,
            "type": "string",
            "description": "Country",
            "nullable": true
          },
          "postalAddress1": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal Address 1",
            "nullable": true
          },
          "postalAddress2": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal Address 2",
            "nullable": true
          },
          "postalCity": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal City",
            "nullable": true
          },
          "postalPostCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal Post Code",
            "nullable": true
          },
          "postalState": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal State",
            "nullable": true
          },
          "postalCountry": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing/Postal Country",
            "nullable": true
          },
          "notes": {
            "maxLength": 250,
            "type": "string",
            "description": "Notes",
            "nullable": true
          },
          "integrationRef": {
            "type": "string",
            "description": "Integration reference.",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom fields.",
            "nullable": true
          },
          "secondaryContacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SubContact"
            },
            "description": "Secondary Contacts",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.ContactType"
          },
          "salesPersonId": {
            "type": "integer",
            "description": "The User Id",
            "format": "int32"
          },
          "accountNumber": {
            "maxLength": 10,
            "type": "string",
            "description": "Account Number",
            "nullable": true
          },
          "billingId": {
            "type": "integer",
            "description": "Parent company member id",
            "format": "int32",
            "nullable": true
          },
          "billingCompany": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing Company",
            "nullable": true
          },
          "accountsFirstName": {
            "maxLength": 50,
            "type": "string",
            "description": "Accounts contact first name",
            "nullable": true
          },
          "accountsLastName": {
            "maxLength": 50,
            "type": "string",
            "description": "Accounts contact last name",
            "nullable": true
          },
          "billingEmail": {
            "maxLength": 50,
            "type": "string",
            "description": "Billing Email",
            "nullable": true
          },
          "accountsPhone": {
            "maxLength": 50,
            "type": "string",
            "description": "Accounts contact phone",
            "nullable": true
          },
          "billingCostCenter": {
            "type": "string",
            "description": "Alternative GL account of a Parent company if exists",
            "nullable": true
          },
          "costCenter": {
            "type": "string",
            "description": "Alternative GL account",
            "nullable": true
          },
          "priceColumn": {
            "type": "string",
            "description": "A price column name. Query ProductOptions to get a list of valid price column names.",
            "nullable": true
          },
          "percentageOff": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Percentage Off Price Tier. Price discount on top of PriceColumn.",
            "format": "double",
            "nullable": true
          },
          "paymentTerms": {
            "type": "string",
            "description": "Payment terms",
            "nullable": true
          },
          "taxStatus": {
            "type": "string",
            "description": "Tax Status",
            "nullable": true
          },
          "taxNumber": {
            "type": "string",
            "description": "Taxt Number",
            "nullable": true
          },
          "creditLimit": {
            "type": "number",
            "description": "Credit Limit",
            "format": "double"
          },
          "balanceOwing": {
            "type": "number",
            "description": "Balance Owing",
            "format": "double",
            "nullable": true
          },
          "onHold": {
            "type": "boolean",
            "description": "Hold Status",
            "nullable": true
          },
          "group": {
            "type": "string",
            "description": "Group",
            "nullable": true
          },
          "subGroup": {
            "type": "string",
            "description": "Subgroup",
            "nullable": true
          },
          "stages": {
            "type": "string",
            "description": "Stages",
            "nullable": true
          },
          "accountingIntegrationId": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Contacts.AccountingIntegrationId"
          }
        },
        "additionalProperties": false,
        "description": "Contact Model"
      },
      "Cin7.API.AspNetCore.Models.Contacts.ContactType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "ContactType",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.CreditNote": {
        "required": [
          "salesReference"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date.",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last modified date.",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "description": "The ID for the User who created the Transaction.",
            "format": "int32"
          },
          "processedBy": {
            "type": "integer",
            "description": "The ID for the User who processed the Transaction.",
            "format": "int32"
          },
          "isApproved": {
            "type": "boolean",
            "description": "Is Approved (default: true)"
          },
          "reference": {
            "maxLength": 30,
            "type": "string",
            "description": "A unique order reference (leave blank to auto-generate in an insert).",
            "nullable": true
          },
          "memberId": {
            "type": "integer",
            "description": "The Customer Id (Optional). MemberId or MemberEmail should be specified to link a member to the order.",
            "format": "int32"
          },
          "firstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact first name",
            "nullable": true
          },
          "lastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact last name",
            "nullable": true
          },
          "company": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact company",
            "nullable": true
          },
          "email": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact email address, could be different from MemberEmail assigned to the order",
            "format": "email",
            "nullable": true
          },
          "phone": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact phone",
            "nullable": true
          },
          "mobile": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact mobile",
            "nullable": true
          },
          "fax": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact fax",
            "nullable": true
          },
          "deliveryFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient first name",
            "nullable": true
          },
          "deliveryLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient last name",
            "nullable": true
          },
          "deliveryCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient company name",
            "nullable": true
          },
          "deliveryAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 1",
            "nullable": true
          },
          "deliveryAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 2",
            "nullable": true
          },
          "deliveryCity": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address city",
            "nullable": true
          },
          "deliveryState": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address state",
            "nullable": true
          },
          "deliveryPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address postcode",
            "nullable": true
          },
          "deliveryCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address country",
            "nullable": true
          },
          "billingFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient first name",
            "nullable": true
          },
          "billingLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient last name",
            "nullable": true
          },
          "billingCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "The billing company name",
            "nullable": true
          },
          "billingAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 1",
            "nullable": true
          },
          "billingAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 2",
            "nullable": true
          },
          "billingCity": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address city",
            "nullable": true
          },
          "billingPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address postcode",
            "nullable": true
          },
          "billingState": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address state",
            "nullable": true
          },
          "billingCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address country",
            "nullable": true
          },
          "branchId": {
            "type": "integer",
            "description": "Branch Id. Not updatable if SO Dispatched or PO Received. Defaults to \"Main Branch\" ID when omitted.",
            "format": "int32"
          },
          "branchEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Branch email",
            "format": "email",
            "nullable": true
          },
          "projectName": {
            "type": "string",
            "description": "Project Name",
            "nullable": true
          },
          "trackingCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Shipping tracking code",
            "nullable": true
          },
          "internalComments": {
            "type": "string",
            "description": "Internal comment",
            "nullable": true
          },
          "productTotal": {
            "type": "number",
            "description": "Product Total Only",
            "format": "double"
          },
          "freightTotal": {
            "type": "number",
            "description": "Total cost of delivery charges",
            "format": "double",
            "nullable": true
          },
          "freightDescription": {
            "type": "string",
            "description": "Freight/​carrier description",
            "nullable": true
          },
          "surcharge": {
            "type": "number",
            "description": "Surcharge",
            "format": "double",
            "nullable": true
          },
          "surchargeDescription": {
            "type": "string",
            "description": "Surcharge description",
            "nullable": true
          },
          "discountTotal": {
            "type": "number",
            "description": "Total overall discount",
            "format": "double",
            "nullable": true
          },
          "discountDescription": {
            "type": "string",
            "description": "The discount description",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Order total includes Product Total, Freight Total, Discount Total, Surcharge Total, and Tax",
            "format": "double"
          },
          "currencyId": {
            "type": "integer",
            "description": "The unique Cin7 currency Id.",
            "format": "int32"
          },
          "currencyCode": {
            "type": "string",
            "description": "The three-character ISO currency code e.g. NZD. Omit to use account default.",
            "nullable": true
          },
          "currencyRate": {
            "type": "number",
            "description": "The currency rate. ​​If no rate is specified (i.e. zero or null), Cin7 will lookup the currency rate from the start of the day as provided by our 3rd party currency service.",
            "format": "double"
          },
          "currencySymbol": {
            "type": "string",
            "description": "The currency symbol e.g. $. This field is automatically populate based on currency code.",
            "nullable": true
          },
          "taxStatus": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.TaxStatus"
          },
          "taxRate": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Tax Rate e.g. 15. If different from your default tax rate you will need to set the CostCenter or Alternative tax rate field as well.",
            "format": "double"
          },
          "source": {
            "type": "string",
            "description": "The source of the Transaction. This field is read-only.",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom fields.",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Status.OrderStatus"
          },
          "memberEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "The CRM contact email of a customer.",
            "format": "email",
            "nullable": true
          },
          "salesReference": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "The Sales Order reference."
          },
          "creditNoteNumber": {
            "type": "integer",
            "description": "Credit note number (Read-only)",
            "format": "int32"
          },
          "creditNoteDate": {
            "type": "string",
            "description": "Credit Note Date. Send to 3rd party accounting system no earlier than this date.",
            "format": "date-time",
            "nullable": true
          },
          "completedDate": {
            "type": "string",
            "description": "Completed Date.",
            "format": "date-time",
            "nullable": true
          },
          "customerReport": {
            "type": "string",
            "description": "​Notes to customer e.g. the reason for issuing a Credit Note.",
            "nullable": true
          },
          "alternativeAccountCode": {
            "type": "string",
            "description": "Alternative GL Account Code.",
            "nullable": true
          },
          "salesPersonId": {
            "type": "integer",
            "description": "The unique Cin7 user Id of the sales person.",
            "format": "int32"
          },
          "logisticsCarrier": {
            "type": "string",
            "description": "Logistics Carrier",
            "nullable": true
          },
          "logisticsStatus": {
            "type": "integer",
            "description": "Logistics Status",
            "format": "int32",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.CreditNoteItem"
            },
            "description": "Line Items",
            "nullable": true
          },
          "accountingAttributes": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.AccountingAttributes"
          },
          "modifiedCOGSDate": {
            "type": "string",
            "description": "Last modified date of Cost of Good Sold(COGS) - (Read-only)",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.CreditNoteItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 ID",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "transactionId": {
            "type": "integer",
            "description": "Transaction ID e.g. Sales Order Id, Quote Id or Purchase Order Id",
            "format": "int32"
          },
          "parentId": {
            "type": "integer",
            "description": "Parent Line Item ID (Read-only)",
            "format": "int32",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Product ID (Read-only)",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "The product option ID (Optional); ProductOptionId or Code should be specified to link a product to the line item.",
            "format": "int32"
          },
          "integrationRef": {
            "type": "string",
            "description": "Integration reference",
            "nullable": true
          },
          "sort": {
            "type": "integer",
            "description": "Sort (or sequence) of line items",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3 (required for size products)",
            "nullable": true
          },
          "qty": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "nullable": true
          },
          "styleCode": {
            "type": "string",
            "description": "Product style code",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "description": "Barcode/UPC. Note, if the product option barode exists in Cin7, only quantity needs to be included; all other fields are optional.",
            "nullable": true
          },
          "supplierCode": {
            "type": "string",
            "description": "Supplier code",
            "nullable": true
          },
          "sizeCodes": {
            "type": "string",
            "description": "An array of size quantities and codes e.g. Qty|Size|Code|Barcode. (Note this is Read-Only)",
            "nullable": true
          },
          "lineComments": {
            "type": "string",
            "description": "Line item comment",
            "nullable": true
          },
          "unitCost": {
            "type": "number",
            "description": "Unit Cost",
            "format": "double",
            "nullable": true
          },
          "unitPrice": {
            "type": "number",
            "description": "Unit Price",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Total line item discount",
            "format": "double"
          },
          "qtyShipped": {
            "type": "number",
            "description": "​Qty shipped/dispatched. This field is read-only. Populate 'DispatchedDate' to update this field. ​",
            "format": "double"
          },
          "accountCode": {
            "type": "string",
            "description": "Alternative GL Account Code.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.FeesAndPayouts.FeesAndPayoutsDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "invoiceReference": {
            "type": "string",
            "description": "Payment fee or payout reference, e.g. for fees we use \"PMTFEE-{id}\" and for payouts we use the Orders_25",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Description",
            "nullable": true
          },
          "stripePaymentId": {
            "type": "string",
            "description": "Payment Id from stripe",
            "nullable": true
          },
          "transactionType": {
            "type": "string",
            "description": "Indicates whether the record is a Payment Fee or Payout.",
            "nullable": true
          },
          "createdDate": {
            "type": "string",
            "description": "Created Date in UTC, serialized as ISO 8601 (e.g. 2024-01-15T13:45:30Z).",
            "format": "date-time",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Amount of the fee or payout",
            "format": "double"
          },
          "currency": {
            "type": "string",
            "description": "Currency code (e.g. NZD, USD)",
            "nullable": true
          },
          "accountingTreatment": {
            "type": "string",
            "description": "Predefined DR/CR accounting behavior",
            "nullable": true
          },
          "taxTreatment": {
            "type": "string",
            "description": "Tax handling",
            "nullable": true
          },
          "isNetOfSettlement": {
            "type": "boolean",
            "description": "Indicates whether the amount is net of settlement"
          }
        },
        "additionalProperties": false,
        "description": "Payment fee or payout model"
      },
      "Cin7.API.AspNetCore.Models.Image": {
        "type": "object",
        "properties": {
          "link": {
            "type": "string",
            "description": "A link to an image",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Image Model"
      },
      "Cin7.API.AspNetCore.Models.OrderType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18
        ],
        "type": "integer",
        "description": "Order type enumeration",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.Payment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 payment Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created Date UTC: yyyy-MM-dd HH:mm:ss",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Modified Date UTC: yyyy-MM-dd HH:mm:ss",
            "format": "date-time",
            "nullable": true
          },
          "paymentDate": {
            "type": "string",
            "description": "Payment Date UTC: yyyy-MM-dd HH:mm:ss",
            "format": "date-time",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "description": "Payment Amount",
            "format": "double",
            "nullable": true
          },
          "method": {
            "type": "string",
            "description": "Payment Method",
            "nullable": true
          },
          "direction": {
            "type": "integer",
            "description": "Payment direction: 1 receive payment or -1 pay/refund",
            "format": "int32"
          },
          "isAuthorized": {
            "type": "boolean",
            "description": "Transaction Authorized"
          },
          "transactionRef": {
            "maxLength": 50,
            "type": "string",
            "description": "Transaction reference e.g. payment gateway transaction Id or ref",
            "nullable": true
          },
          "comments": {
            "maxLength": 250,
            "type": "string",
            "description": "Comments",
            "nullable": true
          },
          "orderId": {
            "type": "integer",
            "description": "The unique Cin7 sales order or purchase order Id.",
            "format": "int32"
          },
          "orderRef": {
            "maxLength": 30,
            "type": "string",
            "description": "A unique sales order or purchase order reference. (Read-only)",
            "nullable": true,
            "readOnly": true
          },
          "paymentImportedRef": {
            "type": "string",
            "description": "Payment imported ref",
            "nullable": true
          },
          "batchReference": {
            "type": "string",
            "description": "Batch Reference (Read-only)",
            "nullable": true,
            "readOnly": true
          },
          "reconcileDate": {
            "type": "string",
            "description": "Reconcile date",
            "format": "date-time",
            "nullable": true
          },
          "branchId": {
            "type": "integer",
            "description": "Branch Id.",
            "format": "int32"
          },
          "orderType": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.OrderType"
          }
        },
        "additionalProperties": false,
        "description": "Payment Model"
      },
      "Cin7.API.AspNetCore.Models.Product": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 product Id.",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductStatus"
          },
          "createdDate": {
            "type": "string",
            "description": "Created Date UTC",
            "format": "date-time"
          },
          "modifiedDate": {
            "type": "string",
            "description": "Modified Date UTC",
            "format": "date-time"
          },
          "styleCode": {
            "type": "string",
            "description": "The product style code",
            "nullable": true
          },
          "name": {
            "maxLength": 250,
            "minLength": 1,
            "type": "string",
            "description": "The product name"
          },
          "description": {
            "type": "string",
            "description": "The product description",
            "nullable": true
          },
          "tags": {
            "type": "string",
            "description": "Comma delimited list of custom tags",
            "nullable": true
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Image"
            },
            "description": "A list of images",
            "nullable": true
          },
          "pdfUpload": {
            "type": "string",
            "description": "PDF file",
            "nullable": true
          },
          "pdfDescription": {
            "type": "string",
            "description": "PDF description",
            "nullable": true
          },
          "supplierId": {
            "type": "integer",
            "description": "The unique Cin7 supplier Id",
            "format": "int32"
          },
          "brand": {
            "type": "string",
            "description": "The product brand name",
            "nullable": true
          },
          "category": {
            "type": "string",
            "description": "Category",
            "nullable": true
          },
          "subCategory": {
            "type": "string",
            "description": "Subcategory",
            "nullable": true
          },
          "categoryIdArray": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Category IDs assigned to the product.",
            "nullable": true
          },
          "channels": {
            "type": "string",
            "description": "Selling Channels",
            "nullable": true
          },
          "weight": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product weight",
            "format": "double"
          },
          "height": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product height",
            "format": "double"
          },
          "width": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product width",
            "format": "double"
          },
          "length": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product length",
            "format": "double"
          },
          "volume": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product volume",
            "format": "double"
          },
          "stockControl": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockControl"
          },
          "orderType": {
            "type": "string",
            "description": "Order Type: Order, Kit, Limited Stock, Buy To Order, Pre-order, Gift Voucher",
            "nullable": true
          },
          "productType": {
            "type": "string",
            "description": "Product Type",
            "nullable": true
          },
          "productSubtype": {
            "type": "string",
            "description": "Product Subtype",
            "nullable": true
          },
          "projectName": {
            "type": "string",
            "description": "Project Name",
            "nullable": true
          },
          "optionLabel1": {
            "type": "string",
            "description": "A label for product option name 1 (Example: Color)",
            "nullable": true
          },
          "optionLabel2": {
            "type": "string",
            "description": "A label for product option name 2 (Example: Size)",
            "nullable": true
          },
          "optionLabel3": {
            "type": "string",
            "description": "A label for product option name 3 (Example: Fabric)",
            "nullable": true
          },
          "salesAccount": {
            "type": "string",
            "description": "Sales account",
            "nullable": true
          },
          "purchasesAccount": {
            "type": "string",
            "description": "Purchase account",
            "nullable": true
          },
          "importCustomsDuty": {
            "type": "string",
            "description": "Import Customs duty",
            "nullable": true
          },
          "sizeRangeId": {
            "type": "integer",
            "description": "Size range id",
            "format": "int32"
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom fields.",
            "nullable": true
          },
          "productOptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOption"
            },
            "description": "A list of product options",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.ProductCategories.CreateProductCategoryRequest": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 250,
            "type": "string",
            "nullable": true
          },
          "parentId": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Parent category Id. 0 for top level.\r\n Default is 0.",
            "format": "int32"
          },
          "sort": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.ProductCategories.UpdateProductCategoryRequest": {
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "description": {
            "maxLength": 250,
            "type": "string",
            "nullable": true
          },
          "parentId": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Category Id of the parent category.\r\n 0 for root category (or to unlink from parent).\r\n null to not update.",
            "format": "int32",
            "nullable": true
          },
          "sort": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to update a Product Category.\r\nLeave fields null to not update them.\r\nLeave fields empty (or 0 for ParentId) to clear them."
      },
      "Cin7.API.AspNetCore.Models.ProductCategory": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "parentId": {
            "type": "integer",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean"
          },
          "sort": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Image"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.ProductImages.ImagePriority": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.ProductOption": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Product Option Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created Date UTC",
            "format": "date-time"
          },
          "modifiedDate": {
            "type": "string",
            "description": "Modifie Date UTC",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOptionStatus"
          },
          "productId": {
            "type": "integer",
            "description": "The unique Cin7 product id",
            "format": "int32"
          },
          "code": {
            "maxLength": 20,
            "type": "string",
            "description": "[OBSOLETE] Use ProductOptionCode",
            "nullable": true
          },
          "barcode": {
            "maxLength": 13,
            "type": "string",
            "description": "[OBSOLETE] Use ProductOptionBarcode",
            "nullable": true
          },
          "productOptionCode": {
            "maxLength": 20,
            "type": "string",
            "description": "The Product Option Code/SKU",
            "nullable": true
          },
          "productOptionSizeCode": {
            "maxLength": 20,
            "type": "string",
            "description": "The Product Option Size Code/SKU",
            "nullable": true
          },
          "productOptionBarcode": {
            "maxLength": 13,
            "type": "string",
            "description": "The Product Option Barcode",
            "nullable": true
          },
          "productOptionSizeBarcode": {
            "maxLength": 13,
            "type": "string",
            "description": "The Product Option Size Barcode",
            "nullable": true
          },
          "supplierCode": {
            "maxLength": 20,
            "type": "string",
            "description": "Supplier code",
            "nullable": true
          },
          "option1": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 1 (Example: Red)",
            "nullable": true
          },
          "option2": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 2 (Example: XL)",
            "nullable": true
          },
          "option3": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 3 (Example: Cotton)",
            "nullable": true
          },
          "optionWeight": {
            "type": "number",
            "description": "Product Option Weight",
            "format": "double"
          },
          "size": {
            "type": "string",
            "description": "Size",
            "nullable": true
          },
          "sizeId": {
            "type": "integer",
            "description": "Size Id",
            "format": "int32"
          },
          "retailPrice": {
            "type": "number",
            "description": "Retail Price",
            "format": "currency",
            "nullable": true
          },
          "wholesalePrice": {
            "type": "number",
            "description": "Wholesale Price",
            "format": "currency",
            "nullable": true
          },
          "vipPrice": {
            "type": "number",
            "description": "VIP Price",
            "format": "currency",
            "nullable": true
          },
          "specialPrice": {
            "type": "number",
            "description": "Special Price",
            "format": "currency",
            "nullable": true
          },
          "specialsStartDate": {
            "type": "string",
            "description": "Specials Start Date",
            "format": "date-time",
            "nullable": true
          },
          "specialDays": {
            "type": "integer",
            "description": "Number of days Specials last",
            "format": "int32",
            "nullable": true
          },
          "stockAvailable": {
            "type": "number",
            "description": "Stock Available",
            "format": "double"
          },
          "stockOnHand": {
            "type": "number",
            "description": "Stock On Hand",
            "format": "double"
          },
          "uomOptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.UomOption"
            },
            "description": "UOM options",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Image"
          },
          "priceColumns": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double",
              "nullable": true
            },
            "description": "Price Columns",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Product Option Model"
      },
      "Cin7.API.AspNetCore.Models.ProductOptionStatus": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "Product option status",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.ProductStatus": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "description": "Product option status",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJob": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "A unique Job ID.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date time.",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last modified date time.",
            "format": "date-time",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "description": "Due Date",
            "format": "date-time",
            "nullable": true
          },
          "completedDate": {
            "type": "string",
            "description": "Completed Date",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "description": "Created by User ID.",
            "format": "int32"
          },
          "completedBy": {
            "type": "integer",
            "description": "Completed by User ID.",
            "format": "int32"
          },
          "isApproved": {
            "type": "boolean",
            "description": "Is Approved (default: true)"
          },
          "branchId": {
            "type": "integer",
            "description": "Branch ID",
            "format": "int32"
          },
          "company": {
            "maxLength": 250,
            "type": "string",
            "description": "Company",
            "nullable": true
          },
          "projectName": {
            "type": "string",
            "description": "Project Name",
            "nullable": true
          },
          "productionNotes": {
            "type": "string",
            "description": "Production Notes.",
            "nullable": true
          },
          "reference": {
            "maxLength": 20,
            "type": "string",
            "description": "The unique Job reference.",
            "nullable": true
          },
          "source": {
            "type": "string",
            "description": "The source",
            "nullable": true
          },
          "totalCost": {
            "type": "number",
            "description": "Product Total",
            "format": "double"
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom Fields",
            "nullable": true
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJobProduct"
            },
            "description": "Production Job Products.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJobComponent": {
        "required": [
          "standardQty"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 ID",
            "format": "int32"
          },
          "jobId": {
            "type": "integer",
            "description": "The Production Job ID",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "productId": {
            "type": "integer",
            "description": "Product ID",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "Product option ID",
            "format": "int32"
          },
          "type": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomItemType"
          },
          "sort": {
            "type": "integer",
            "description": "Sort Order",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "Item Code",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item Name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Notes",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "description": "Due Date",
            "format": "date-time",
            "nullable": true
          },
          "standardQty": {
            "type": "number",
            "description": "Standard Qty",
            "format": "double"
          },
          "actualQty": {
            "type": "number",
            "description": "Actual quantity (Read-only)",
            "format": "double",
            "readOnly": true
          },
          "unitCost": {
            "type": "number",
            "description": "Unit Cost",
            "format": "double",
            "nullable": true
          },
          "parentId": {
            "type": "integer",
            "description": "Parent Line Item ID",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJobProduct": {
        "required": [
          "standardQty"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 ID",
            "format": "int32"
          },
          "jobId": {
            "type": "integer",
            "description": "The Production Job ID",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "productId": {
            "type": "integer",
            "description": "Product ID",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "Product option ID",
            "format": "int32"
          },
          "type": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomItemType"
          },
          "sort": {
            "type": "integer",
            "description": "Sort Order",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "Item Code",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item Name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "description": "Notes",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "description": "Due Date",
            "format": "date-time",
            "nullable": true
          },
          "standardQty": {
            "type": "number",
            "description": "Standard Qty",
            "format": "double"
          },
          "actualQty": {
            "type": "number",
            "description": "Actual quantity (Read-only)",
            "format": "double",
            "readOnly": true
          },
          "unitCost": {
            "type": "number",
            "description": "Unit Cost",
            "format": "double",
            "nullable": true
          },
          "components": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductionJobs.ProductionJobComponent"
            },
            "description": "Product Components (Read-only)",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date.",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last modified date.",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "description": "The ID for the User who created the Transaction.",
            "format": "int32"
          },
          "processedBy": {
            "type": "integer",
            "description": "The ID for the User who processed the Transaction.",
            "format": "int32"
          },
          "isApproved": {
            "type": "boolean",
            "description": "Is Approved (default: true)"
          },
          "reference": {
            "maxLength": 30,
            "type": "string",
            "description": "A unique order reference (leave blank to auto-generate in an insert).",
            "nullable": true
          },
          "memberId": {
            "type": "integer",
            "description": "The Customer Id (Optional). MemberId or MemberEmail should be specified to link a member to the order.",
            "format": "int32"
          },
          "firstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact first name",
            "nullable": true
          },
          "lastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact last name",
            "nullable": true
          },
          "company": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact company",
            "nullable": true
          },
          "email": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact email address, could be different from MemberEmail assigned to the order",
            "format": "email",
            "nullable": true
          },
          "phone": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact phone",
            "nullable": true
          },
          "mobile": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact mobile",
            "nullable": true
          },
          "fax": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact fax",
            "nullable": true
          },
          "deliveryFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient first name",
            "nullable": true
          },
          "deliveryLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient last name",
            "nullable": true
          },
          "deliveryCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient company name",
            "nullable": true
          },
          "deliveryAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 1",
            "nullable": true
          },
          "deliveryAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 2",
            "nullable": true
          },
          "deliveryCity": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address city",
            "nullable": true
          },
          "deliveryState": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address state",
            "nullable": true
          },
          "deliveryPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address postcode",
            "nullable": true
          },
          "deliveryCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address country",
            "nullable": true
          },
          "billingFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient first name",
            "nullable": true
          },
          "billingLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient last name",
            "nullable": true
          },
          "billingCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "The billing company name",
            "nullable": true
          },
          "billingAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 1",
            "nullable": true
          },
          "billingAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 2",
            "nullable": true
          },
          "billingCity": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address city",
            "nullable": true
          },
          "billingPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address postcode",
            "nullable": true
          },
          "billingState": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address state",
            "nullable": true
          },
          "billingCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address country",
            "nullable": true
          },
          "branchId": {
            "type": "integer",
            "description": "Branch Id. Not updatable if SO Dispatched or PO Received. Defaults to \"Main Branch\" ID when omitted.",
            "format": "int32"
          },
          "branchEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Branch email",
            "format": "email",
            "nullable": true
          },
          "projectName": {
            "type": "string",
            "description": "Project Name",
            "nullable": true
          },
          "trackingCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Shipping tracking code",
            "nullable": true
          },
          "internalComments": {
            "type": "string",
            "description": "Internal comment",
            "nullable": true
          },
          "productTotal": {
            "type": "number",
            "description": "Product Total Only",
            "format": "double"
          },
          "freightTotal": {
            "type": "number",
            "description": "Total cost of delivery charges",
            "format": "double",
            "nullable": true
          },
          "freightDescription": {
            "type": "string",
            "description": "Freight/​carrier description",
            "nullable": true
          },
          "surcharge": {
            "type": "number",
            "description": "Surcharge",
            "format": "double",
            "nullable": true
          },
          "surchargeDescription": {
            "type": "string",
            "description": "Surcharge description",
            "nullable": true
          },
          "discountTotal": {
            "type": "number",
            "description": "Total overall discount",
            "format": "double",
            "nullable": true
          },
          "discountDescription": {
            "type": "string",
            "description": "The discount description",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Order total includes Product Total, Freight Total, Discount Total, Surcharge Total, and Tax",
            "format": "double"
          },
          "currencyId": {
            "type": "integer",
            "description": "The unique Cin7 currency Id.",
            "format": "int32"
          },
          "currencyCode": {
            "type": "string",
            "description": "The three-character ISO currency code e.g. NZD. Omit to use account default.",
            "nullable": true
          },
          "currencyRate": {
            "type": "number",
            "description": "The currency rate. ​​If no rate is specified (i.e. zero or null), Cin7 will lookup the currency rate from the start of the day as provided by our 3rd party currency service.",
            "format": "double"
          },
          "currencySymbol": {
            "type": "string",
            "description": "The currency symbol e.g. $. This field is automatically populate based on currency code.",
            "nullable": true
          },
          "taxStatus": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.TaxStatus"
          },
          "taxRate": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Tax Rate e.g. 15. If different from your default tax rate you will need to set the CostCenter or Alternative tax rate field as well.",
            "format": "double"
          },
          "source": {
            "type": "string",
            "description": "The source of the Transaction. This field is read-only.",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom fields.",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Status.OrderStatus"
          },
          "stage": {
            "type": "string",
            "description": "Stage: New, Awaiting Payment, Declined, Dispatched, Processing, On Hold (default: New)",
            "nullable": true
          },
          "memberEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "The CRM contact email of a customer in an order",
            "format": "email",
            "nullable": true
          },
          "memberCostCenter": {
            "type": "string",
            "description": "Member Cost Center (Alternative GL Account).",
            "nullable": true
          },
          "memberAlternativeTaxRate": {
            "type": "string",
            "description": "The member Alternative Tax Rate.",
            "nullable": true
          },
          "costCenter": {
            "type": "string",
            "description": "Cost Center (Alternative GL Account).",
            "nullable": true
          },
          "alternativeTaxRate": {
            "type": "string",
            "description": "Alternative Tax Rate.",
            "nullable": true
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "Estimated Delivery Date",
            "format": "date-time",
            "nullable": true
          },
          "salesPersonId": {
            "type": "integer",
            "description": "The unique Cin7 user Id of the sales person.",
            "format": "int32"
          },
          "salesPersonEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Made obsolete. This value will be null in the response.",
            "format": "email",
            "nullable": true
          },
          "paymentTerms": {
            "type": "string",
            "description": "Payment terms",
            "nullable": true
          },
          "customerOrderNo": {
            "type": "string",
            "description": "Customer purchase order reference",
            "nullable": true
          },
          "voucherCode": {
            "maxLength": 30,
            "type": "string",
            "description": "Voucher code",
            "nullable": true
          },
          "deliveryInstructions": {
            "maxLength": 2000,
            "type": "string",
            "description": "Delivery instructions e.g. Leave at the door, beware the dog.",
            "nullable": true
          },
          "cancellationDate": {
            "type": "string",
            "description": "Order cancellation date - (Read-only)",
            "format": "date-time",
            "nullable": true
          },
          "modifiedCOGSDate": {
            "type": "string",
            "description": "Last modified date of Cost of Good Sold(COGS) - (Read-only)",
            "format": "date-time",
            "nullable": true
          },
          "supplierInvoiceReference": {
            "type": "string",
            "nullable": true
          },
          "supplierAcceptanceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "port": {
            "type": "string",
            "description": "Port for Indent Order.",
            "nullable": true
          },
          "estimatedArrivalDate": {
            "type": "string",
            "description": "Estimated time of arrival for Indent Order.",
            "format": "date-time",
            "nullable": true
          },
          "fullyReceivedDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "invoiceDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrderItem"
            },
            "nullable": true
          },
          "logisticsCarrier": {
            "type": "string",
            "description": "Logistics Carrier",
            "nullable": true
          },
          "logisticsStatus": {
            "type": "integer",
            "description": "Logistics Status",
            "format": "int32",
            "nullable": true
          },
          "accountingAttributes": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.AccountingAttributes"
          },
          "isVoid": {
            "type": "boolean",
            "description": "Set to true to void an order; note this behaviour is irreversible."
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.PurchaseOrders.PurchaseOrderItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 ID",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "transactionId": {
            "type": "integer",
            "description": "Transaction ID e.g. Sales Order Id, Quote Id or Purchase Order Id",
            "format": "int32"
          },
          "parentId": {
            "type": "integer",
            "description": "Parent Line Item ID (Read-only)",
            "format": "int32",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Product ID (Read-only)",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "The product option ID (Optional); ProductOptionId or Code should be specified to link a product to the line item.",
            "format": "int32"
          },
          "integrationRef": {
            "type": "string",
            "description": "Integration reference",
            "nullable": true
          },
          "sort": {
            "type": "integer",
            "description": "Sort (or sequence) of line items",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3 (required for size products)",
            "nullable": true
          },
          "qty": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "nullable": true
          },
          "styleCode": {
            "type": "string",
            "description": "Product style code",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "description": "Barcode/UPC. Note, if the product option barode exists in Cin7, only quantity needs to be included; all other fields are optional.",
            "nullable": true
          },
          "supplierCode": {
            "type": "string",
            "description": "Supplier code",
            "nullable": true
          },
          "sizeCodes": {
            "type": "string",
            "description": "An array of size quantities and codes e.g. Qty|Size|Code|Barcode. (Note this is Read-Only)",
            "nullable": true
          },
          "lineComments": {
            "type": "string",
            "description": "Line item comment",
            "nullable": true
          },
          "unitPrice": {
            "type": "number",
            "description": "Unit Price",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Total line item discount",
            "format": "double"
          },
          "qtyShipped": {
            "type": "number",
            "description": "​Qty shipped/dispatched. This field is read-only. Populate 'DispatchedDate' to update this field. ​",
            "format": "double"
          },
          "holdingQty": {
            "type": "number",
            "description": "Holding Quantity (read-only).",
            "format": "double"
          },
          "accountCode": {
            "type": "string",
            "description": "Alternative GL Account Code. Omit to default to Product GL.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Purchase Order Line Item"
      },
      "Cin7.API.AspNetCore.Models.Quotes.Quote": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date.",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last modified date.",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "description": "The ID for the User who created the Transaction.",
            "format": "int32"
          },
          "processedBy": {
            "type": "integer",
            "description": "The ID for the User who processed the Transaction.",
            "format": "int32"
          },
          "isApproved": {
            "type": "boolean",
            "description": "Is Approved (default: true)"
          },
          "reference": {
            "maxLength": 30,
            "type": "string",
            "description": "A unique order reference (leave blank to auto-generate in an insert).",
            "nullable": true
          },
          "memberId": {
            "type": "integer",
            "description": "The Customer Id (Optional). MemberId or MemberEmail should be specified to link a member to the order.",
            "format": "int32"
          },
          "firstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact first name",
            "nullable": true
          },
          "lastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact last name",
            "nullable": true
          },
          "company": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact company",
            "nullable": true
          },
          "email": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact email address, could be different from MemberEmail assigned to the order",
            "format": "email",
            "nullable": true
          },
          "phone": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact phone",
            "nullable": true
          },
          "mobile": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact mobile",
            "nullable": true
          },
          "fax": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact fax",
            "nullable": true
          },
          "deliveryFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient first name",
            "nullable": true
          },
          "deliveryLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient last name",
            "nullable": true
          },
          "deliveryCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient company name",
            "nullable": true
          },
          "deliveryAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 1",
            "nullable": true
          },
          "deliveryAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 2",
            "nullable": true
          },
          "deliveryCity": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address city",
            "nullable": true
          },
          "deliveryState": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address state",
            "nullable": true
          },
          "deliveryPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address postcode",
            "nullable": true
          },
          "deliveryCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address country",
            "nullable": true
          },
          "billingFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient first name",
            "nullable": true
          },
          "billingLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient last name",
            "nullable": true
          },
          "billingCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "The billing company name",
            "nullable": true
          },
          "billingAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 1",
            "nullable": true
          },
          "billingAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 2",
            "nullable": true
          },
          "billingCity": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address city",
            "nullable": true
          },
          "billingPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address postcode",
            "nullable": true
          },
          "billingState": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address state",
            "nullable": true
          },
          "billingCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address country",
            "nullable": true
          },
          "branchId": {
            "type": "integer",
            "description": "Branch Id. Not updatable if SO Dispatched or PO Received. Defaults to \"Main Branch\" ID when omitted.",
            "format": "int32"
          },
          "branchEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Branch email",
            "format": "email",
            "nullable": true
          },
          "projectName": {
            "type": "string",
            "description": "Project Name",
            "nullable": true
          },
          "trackingCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Shipping tracking code",
            "nullable": true
          },
          "internalComments": {
            "type": "string",
            "description": "Internal comment",
            "nullable": true
          },
          "productTotal": {
            "type": "number",
            "description": "Product Total Only",
            "format": "double"
          },
          "freightTotal": {
            "type": "number",
            "description": "Total cost of delivery charges",
            "format": "double",
            "nullable": true
          },
          "freightDescription": {
            "type": "string",
            "description": "Freight/​carrier description",
            "nullable": true
          },
          "surcharge": {
            "type": "number",
            "description": "Surcharge",
            "format": "double",
            "nullable": true
          },
          "surchargeDescription": {
            "type": "string",
            "description": "Surcharge description",
            "nullable": true
          },
          "discountTotal": {
            "type": "number",
            "description": "Total overall discount",
            "format": "double",
            "nullable": true
          },
          "discountDescription": {
            "type": "string",
            "description": "The discount description",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Order total includes Product Total, Freight Total, Discount Total, Surcharge Total, and Tax",
            "format": "double"
          },
          "currencyId": {
            "type": "integer",
            "description": "The unique Cin7 currency Id.",
            "format": "int32"
          },
          "currencyCode": {
            "type": "string",
            "description": "The three-character ISO currency code e.g. NZD. Omit to use account default.",
            "nullable": true
          },
          "currencyRate": {
            "type": "number",
            "description": "The currency rate. ​​If no rate is specified (i.e. zero or null), Cin7 will lookup the currency rate from the start of the day as provided by our 3rd party currency service.",
            "format": "double"
          },
          "currencySymbol": {
            "type": "string",
            "description": "The currency symbol e.g. $. This field is automatically populate based on currency code.",
            "nullable": true
          },
          "taxStatus": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.TaxStatus"
          },
          "taxRate": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Tax Rate e.g. 15. If different from your default tax rate you will need to set the CostCenter or Alternative tax rate field as well.",
            "format": "double"
          },
          "source": {
            "type": "string",
            "description": "The source of the Transaction. This field is read-only.",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom fields.",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Status.OrderStatus"
          },
          "stage": {
            "type": "string",
            "description": "Stage: New, Awaiting Payment, Declined, Dispatched, Processing, On Hold (default: New)",
            "nullable": true
          },
          "memberEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "The CRM contact email of a customer in an order",
            "format": "email",
            "nullable": true
          },
          "memberCostCenter": {
            "type": "string",
            "description": "Member Cost Center (Alternative GL Account).",
            "nullable": true
          },
          "memberAlternativeTaxRate": {
            "type": "string",
            "description": "The member Alternative Tax Rate.",
            "nullable": true
          },
          "costCenter": {
            "type": "string",
            "description": "Cost Center (Alternative GL Account).",
            "nullable": true
          },
          "alternativeTaxRate": {
            "type": "string",
            "description": "Alternative Tax Rate.",
            "nullable": true
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "Estimated Delivery Date",
            "format": "date-time",
            "nullable": true
          },
          "salesPersonId": {
            "type": "integer",
            "description": "The unique Cin7 user Id of the sales person.",
            "format": "int32"
          },
          "salesPersonEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Made obsolete. This value will be null in the response.",
            "format": "email",
            "nullable": true
          },
          "paymentTerms": {
            "type": "string",
            "description": "Payment terms",
            "nullable": true
          },
          "customerOrderNo": {
            "type": "string",
            "description": "Customer purchase order reference",
            "nullable": true
          },
          "voucherCode": {
            "maxLength": 30,
            "type": "string",
            "description": "Voucher code",
            "nullable": true
          },
          "deliveryInstructions": {
            "maxLength": 2000,
            "type": "string",
            "description": "Delivery instructions e.g. Leave at the door, beware the dog.",
            "nullable": true
          },
          "cancellationDate": {
            "type": "string",
            "description": "Order cancellation date - (Read-only)",
            "format": "date-time",
            "nullable": true
          },
          "modifiedCOGSDate": {
            "type": "string",
            "description": "Last modified date of Cost of Good Sold(COGS) - (Read-only)",
            "format": "date-time",
            "nullable": true
          },
          "probability": {
            "type": "number",
            "description": "Probability of Winning",
            "format": "double"
          },
          "expectedOrderDate": {
            "type": "string",
            "description": "Expected Order Date",
            "format": "date-time",
            "nullable": true
          },
          "acceptanceDate": {
            "type": "string",
            "description": "Acceptance Date",
            "format": "date-time",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Quotes.QuoteItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.Quotes.QuoteItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 ID",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "transactionId": {
            "type": "integer",
            "description": "Transaction ID e.g. Sales Order Id, Quote Id or Purchase Order Id",
            "format": "int32"
          },
          "parentId": {
            "type": "integer",
            "description": "Parent Line Item ID (Read-only)",
            "format": "int32",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Product ID (Read-only)",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "The product option ID (Optional); ProductOptionId or Code should be specified to link a product to the line item.",
            "format": "int32"
          },
          "integrationRef": {
            "type": "string",
            "description": "Integration reference",
            "nullable": true
          },
          "sort": {
            "type": "integer",
            "description": "Sort (or sequence) of line items",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3 (required for size products)",
            "nullable": true
          },
          "qty": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "nullable": true
          },
          "styleCode": {
            "type": "string",
            "description": "Product style code",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "description": "Barcode/UPC. Note, if the product option barode exists in Cin7, only quantity needs to be included; all other fields are optional.",
            "nullable": true
          },
          "supplierCode": {
            "type": "string",
            "description": "Supplier code",
            "nullable": true
          },
          "sizeCodes": {
            "type": "string",
            "description": "An array of size quantities and codes e.g. Qty|Size|Code|Barcode. (Note this is Read-Only)",
            "nullable": true
          },
          "lineComments": {
            "type": "string",
            "description": "Line item comment",
            "nullable": true
          },
          "unitCost": {
            "type": "number",
            "description": "Unit Cost",
            "format": "double",
            "nullable": true
          },
          "unitPrice": {
            "type": "number",
            "description": "Unit Price",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Total line item discount",
            "format": "double"
          },
          "qtyShipped": {
            "type": "number",
            "description": "​Qty shipped/dispatched. This field is read-only. Populate 'DispatchedDate' to update this field. ​",
            "format": "double"
          },
          "holdingQty": {
            "type": "number",
            "description": "Holding Quantity (read-only).",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Quote Line Item"
      },
      "Cin7.API.AspNetCore.Models.ResponseModels.BatchResultItem": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "​True if the record was successfully inserted or updated.",
            "readOnly": true
          },
          "id": {
            "type": "integer",
            "description": "The record Id.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The record code.",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of errors if the insert or update fails.",
            "nullable": true
          },
          "index": {
            "type": "integer",
            "description": "​The index at which the record was positioned in an insert or update.",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.ResponseModels.ResultItem": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "​True if the record was successfully inserted or updated.",
            "readOnly": true
          },
          "id": {
            "type": "integer",
            "description": "The record Id.",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The record code.",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of errors if the insert or update fails.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.SalesOrders.SalesOrder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date.",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last modified date.",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "description": "The ID for the User who created the Transaction.",
            "format": "int32"
          },
          "processedBy": {
            "type": "integer",
            "description": "The ID for the User who processed the Transaction.",
            "format": "int32"
          },
          "isApproved": {
            "type": "boolean",
            "description": "Is Approved (default: true)"
          },
          "reference": {
            "maxLength": 30,
            "type": "string",
            "description": "A unique order reference (leave blank to auto-generate in an insert).",
            "nullable": true
          },
          "memberId": {
            "type": "integer",
            "description": "The Customer Id (Optional). MemberId or MemberEmail should be specified to link a member to the order.",
            "format": "int32"
          },
          "firstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact first name",
            "nullable": true
          },
          "lastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact last name",
            "nullable": true
          },
          "company": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact company",
            "nullable": true
          },
          "email": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact email address, could be different from MemberEmail assigned to the order",
            "format": "email",
            "nullable": true
          },
          "phone": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact phone",
            "nullable": true
          },
          "mobile": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact mobile",
            "nullable": true
          },
          "fax": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact fax",
            "nullable": true
          },
          "deliveryFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient first name",
            "nullable": true
          },
          "deliveryLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient last name",
            "nullable": true
          },
          "deliveryCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient company name",
            "nullable": true
          },
          "deliveryAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 1",
            "nullable": true
          },
          "deliveryAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 2",
            "nullable": true
          },
          "deliveryCity": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address city",
            "nullable": true
          },
          "deliveryState": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address state",
            "nullable": true
          },
          "deliveryPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address postcode",
            "nullable": true
          },
          "deliveryCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address country",
            "nullable": true
          },
          "billingFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient first name",
            "nullable": true
          },
          "billingLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient last name",
            "nullable": true
          },
          "billingCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "The billing company name",
            "nullable": true
          },
          "billingAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 1",
            "nullable": true
          },
          "billingAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 2",
            "nullable": true
          },
          "billingCity": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address city",
            "nullable": true
          },
          "billingPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address postcode",
            "nullable": true
          },
          "billingState": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address state",
            "nullable": true
          },
          "billingCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address country",
            "nullable": true
          },
          "branchId": {
            "type": "integer",
            "description": "Branch Id. Not updatable if SO Dispatched or PO Received. Defaults to \"Main Branch\" ID when omitted.",
            "format": "int32"
          },
          "branchEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Branch email",
            "format": "email",
            "nullable": true
          },
          "projectName": {
            "type": "string",
            "description": "Project Name",
            "nullable": true
          },
          "trackingCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Shipping tracking code",
            "nullable": true
          },
          "internalComments": {
            "type": "string",
            "description": "Internal comment",
            "nullable": true
          },
          "productTotal": {
            "type": "number",
            "description": "Product Total Only",
            "format": "double"
          },
          "freightTotal": {
            "type": "number",
            "description": "Total cost of delivery charges",
            "format": "double",
            "nullable": true
          },
          "freightDescription": {
            "type": "string",
            "description": "Freight/​carrier description",
            "nullable": true
          },
          "surcharge": {
            "type": "number",
            "description": "Surcharge",
            "format": "double",
            "nullable": true
          },
          "surchargeDescription": {
            "type": "string",
            "description": "Surcharge description",
            "nullable": true
          },
          "discountTotal": {
            "type": "number",
            "description": "Total overall discount",
            "format": "double",
            "nullable": true
          },
          "discountDescription": {
            "type": "string",
            "description": "The discount description",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Order total includes Product Total, Freight Total, Discount Total, Surcharge Total, and Tax",
            "format": "double"
          },
          "currencyId": {
            "type": "integer",
            "description": "The unique Cin7 currency Id.",
            "format": "int32"
          },
          "currencyCode": {
            "type": "string",
            "description": "The three-character ISO currency code e.g. NZD. Omit to use account default.",
            "nullable": true
          },
          "currencyRate": {
            "type": "number",
            "description": "The currency rate. ​​If no rate is specified (i.e. zero or null), Cin7 will lookup the currency rate from the start of the day as provided by our 3rd party currency service.",
            "format": "double"
          },
          "currencySymbol": {
            "type": "string",
            "description": "The currency symbol e.g. $. This field is automatically populate based on currency code.",
            "nullable": true
          },
          "taxStatus": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.TaxStatus"
          },
          "taxRate": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Tax Rate e.g. 15. If different from your default tax rate you will need to set the CostCenter or Alternative tax rate field as well.",
            "format": "double"
          },
          "source": {
            "type": "string",
            "description": "The source of the Transaction. This field is read-only.",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom fields.",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Status.OrderStatus"
          },
          "stage": {
            "type": "string",
            "description": "Stage: New, Awaiting Payment, Declined, Dispatched, Processing, On Hold (default: New)",
            "nullable": true
          },
          "memberEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "The CRM contact email of a customer in an order",
            "format": "email",
            "nullable": true
          },
          "memberCostCenter": {
            "type": "string",
            "description": "Member Cost Center (Alternative GL Account).",
            "nullable": true
          },
          "memberAlternativeTaxRate": {
            "type": "string",
            "description": "The member Alternative Tax Rate.",
            "nullable": true
          },
          "costCenter": {
            "type": "string",
            "description": "Cost Center (Alternative GL Account).",
            "nullable": true
          },
          "alternativeTaxRate": {
            "type": "string",
            "description": "Alternative Tax Rate.",
            "nullable": true
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "Estimated Delivery Date",
            "format": "date-time",
            "nullable": true
          },
          "salesPersonId": {
            "type": "integer",
            "description": "The unique Cin7 user Id of the sales person.",
            "format": "int32"
          },
          "salesPersonEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Made obsolete. This value will be null in the response.",
            "format": "email",
            "nullable": true
          },
          "paymentTerms": {
            "type": "string",
            "description": "Payment terms",
            "nullable": true
          },
          "customerOrderNo": {
            "type": "string",
            "description": "Customer purchase order reference",
            "nullable": true
          },
          "voucherCode": {
            "maxLength": 30,
            "type": "string",
            "description": "Voucher code",
            "nullable": true
          },
          "deliveryInstructions": {
            "maxLength": 2000,
            "type": "string",
            "description": "Delivery instructions e.g. Leave at the door, beware the dog.",
            "nullable": true
          },
          "cancellationDate": {
            "type": "string",
            "description": "Order cancellation date - (Read-only)",
            "format": "date-time",
            "nullable": true
          },
          "modifiedCOGSDate": {
            "type": "string",
            "description": "Last modified date of Cost of Good Sold(COGS) - (Read-only)",
            "format": "date-time",
            "nullable": true
          },
          "invoiceDate": {
            "type": "string",
            "description": "Invoice date",
            "format": "date-time",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "integer",
            "description": "Invoice number. This is a read-only field. It is updated when an invoice date is provided.",
            "format": "int32",
            "readOnly": true
          },
          "dispatchedDate": {
            "type": "string",
            "description": "The date that the order was fully dispatched.",
            "format": "date-time",
            "nullable": true
          },
          "logisticsCarrier": {
            "type": "string",
            "description": "Logistics Carrier",
            "nullable": true
          },
          "logisticsStatus": {
            "type": "integer",
            "description": "Logistics Status",
            "format": "int32",
            "nullable": true
          },
          "ediStatus": {
            "type": "integer",
            "description": "Edi Status",
            "format": "int32",
            "nullable": true
          },
          "distributionBranchId": {
            "type": "integer",
            "description": "Distribution Branch",
            "format": "int32",
            "nullable": true
          },
          "departmentNumber": {
            "type": "string",
            "description": "Department Number",
            "nullable": true
          },
          "storeLocationNumber": {
            "type": "string",
            "description": "Store Location Number",
            "nullable": true
          },
          "distributionCenter": {
            "type": "string",
            "description": "Distribution Center",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderItem"
            },
            "description": "Line Items",
            "nullable": true
          },
          "isVoid": {
            "type": "boolean",
            "description": "Set to true to void an order; note this behaviour is irreversible."
          },
          "accountingAttributes": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.AccountingAttributes"
          }
        },
        "additionalProperties": false,
        "description": "Order Model"
      },
      "Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 ID",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date",
            "format": "date-time"
          },
          "transactionId": {
            "type": "integer",
            "description": "Transaction ID e.g. Sales Order Id, Quote Id or Purchase Order Id",
            "format": "int32"
          },
          "parentId": {
            "type": "integer",
            "description": "Parent Line Item ID (Read-only)",
            "format": "int32",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "Product ID (Read-only)",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "The product option ID (Optional); ProductOptionId or Code should be specified to link a product to the line item.",
            "format": "int32"
          },
          "integrationRef": {
            "type": "string",
            "description": "Integration reference",
            "nullable": true
          },
          "sort": {
            "type": "integer",
            "description": "Sort (or sequence) of line items",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "description": "Item name",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Option 1",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Option 2",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Option 3 (required for size products)",
            "nullable": true
          },
          "qty": {
            "type": "number",
            "description": "Quantity",
            "format": "double",
            "nullable": true
          },
          "styleCode": {
            "type": "string",
            "description": "Product style code",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "description": "Barcode/UPC. Note, if the product option barcode exists in Cin7, only quantity needs to be included; all other fields are optional.",
            "nullable": true
          },
          "supplierCode": {
            "type": "string",
            "description": "Supplier code",
            "nullable": true
          },
          "sizeCodes": {
            "type": "string",
            "description": "An array of size quantities and codes e.g. Qty|Size|Code|Barcode. (Note this is Read-only)",
            "nullable": true
          },
          "lineComments": {
            "type": "string",
            "description": "Line item comment",
            "nullable": true
          },
          "unitCost": {
            "type": "number",
            "description": "Unit Cost",
            "format": "double",
            "nullable": true
          },
          "unitPrice": {
            "type": "number",
            "description": "Unit Price",
            "format": "double",
            "nullable": true
          },
          "uomPrice": {
            "type": "number",
            "description": "Uom Price of the product. To create/update UOM's use UomPrice instead of UnitPrice.",
            "format": "double",
            "nullable": true
          },
          "discount": {
            "type": "number",
            "description": "Total line item discount",
            "format": "double"
          },
          "uomQtyOrdered": {
            "type": "number",
            "description": "Uom Qty Ordered. To create/update UOM's use UomQtyOrdered instead of Qty.",
            "format": "double",
            "nullable": true
          },
          "uomQtyShipped": {
            "type": "number",
            "description": "​Uom Qty shipped/dispatched. This field is read-only. This is calculated from QtyShipped. ​",
            "format": "double"
          },
          "uomSize": {
            "type": "number",
            "description": "Uom Size. (Read-only)",
            "format": "double",
            "nullable": true
          },
          "qtyShipped": {
            "type": "number",
            "description": "​Qty shipped/dispatched. This field is read-only. Populate 'DispatchedDate' to update this field. ​",
            "format": "double"
          },
          "holdingQty": {
            "type": "number",
            "description": "Holding Quantity (Read-only).",
            "format": "double"
          },
          "accountCode": {
            "type": "string",
            "description": "Alternative GL Account Code. Omit to default to Product GL.",
            "nullable": true
          },
          "stockControl": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockControl"
          },
          "stockMovements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockMovement"
            },
            "description": "Dispatch quantities. (Read-only)",
            "nullable": true
          },
          "sizes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Size"
            },
            "description": "TODO: remove ApiExplorerSettings Attribute after removing APISizeCodeLookup Feature Flag.",
            "nullable": true
          },
          "taxRate": {
            "type": "number",
            "description": "Currently not made visible to the API documentation as we're only using it internally for our Numeral tax Calculation.\r\nIf we want to expose it in the future, we can remove the ApiExplorerSettings attribute.",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Sales Order Line Item."
      },
      "Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderWithCartons": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date.",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last modified date.",
            "format": "date-time",
            "nullable": true
          },
          "createdBy": {
            "type": "integer",
            "description": "The ID for the User who created the Transaction.",
            "format": "int32"
          },
          "processedBy": {
            "type": "integer",
            "description": "The ID for the User who processed the Transaction.",
            "format": "int32"
          },
          "isApproved": {
            "type": "boolean",
            "description": "Is Approved (default: true)"
          },
          "reference": {
            "maxLength": 30,
            "type": "string",
            "description": "A unique order reference (leave blank to auto-generate in an insert).",
            "nullable": true
          },
          "memberId": {
            "type": "integer",
            "description": "The Customer Id (Optional). MemberId or MemberEmail should be specified to link a member to the order.",
            "format": "int32"
          },
          "firstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact first name",
            "nullable": true
          },
          "lastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact last name",
            "nullable": true
          },
          "company": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact company",
            "nullable": true
          },
          "email": {
            "maxLength": 250,
            "type": "string",
            "description": "Contact email address, could be different from MemberEmail assigned to the order",
            "format": "email",
            "nullable": true
          },
          "phone": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact phone",
            "nullable": true
          },
          "mobile": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact mobile",
            "nullable": true
          },
          "fax": {
            "maxLength": 50,
            "type": "string",
            "description": "Contact fax",
            "nullable": true
          },
          "deliveryFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient first name",
            "nullable": true
          },
          "deliveryLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient last name",
            "nullable": true
          },
          "deliveryCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery recipient company name",
            "nullable": true
          },
          "deliveryAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 1",
            "nullable": true
          },
          "deliveryAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address 2",
            "nullable": true
          },
          "deliveryCity": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address city",
            "nullable": true
          },
          "deliveryState": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address state",
            "nullable": true
          },
          "deliveryPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address postcode",
            "nullable": true
          },
          "deliveryCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Delivery address country",
            "nullable": true
          },
          "billingFirstName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient first name",
            "nullable": true
          },
          "billingLastName": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing recipient last name",
            "nullable": true
          },
          "billingCompany": {
            "maxLength": 250,
            "type": "string",
            "description": "The billing company name",
            "nullable": true
          },
          "billingAddress1": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 1",
            "nullable": true
          },
          "billingAddress2": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address 2",
            "nullable": true
          },
          "billingCity": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address city",
            "nullable": true
          },
          "billingPostalCode": {
            "maxLength": 250,
            "type": "string",
            "description": "​Billing address postcode",
            "nullable": true
          },
          "billingState": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address state",
            "nullable": true
          },
          "billingCountry": {
            "maxLength": 250,
            "type": "string",
            "description": "Billing address country",
            "nullable": true
          },
          "branchId": {
            "type": "integer",
            "description": "Branch Id. Not updatable if SO Dispatched or PO Received. Defaults to \"Main Branch\" ID when omitted.",
            "format": "int32"
          },
          "branchEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Branch email",
            "format": "email",
            "nullable": true
          },
          "projectName": {
            "type": "string",
            "description": "Project Name",
            "nullable": true
          },
          "trackingCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Shipping tracking code",
            "nullable": true
          },
          "internalComments": {
            "type": "string",
            "description": "Internal comment",
            "nullable": true
          },
          "productTotal": {
            "type": "number",
            "description": "Product Total Only",
            "format": "double"
          },
          "freightTotal": {
            "type": "number",
            "description": "Total cost of delivery charges",
            "format": "double",
            "nullable": true
          },
          "freightDescription": {
            "type": "string",
            "description": "Freight/​carrier description",
            "nullable": true
          },
          "surcharge": {
            "type": "number",
            "description": "Surcharge",
            "format": "double",
            "nullable": true
          },
          "surchargeDescription": {
            "type": "string",
            "description": "Surcharge description",
            "nullable": true
          },
          "discountTotal": {
            "type": "number",
            "description": "Total overall discount",
            "format": "double",
            "nullable": true
          },
          "discountDescription": {
            "type": "string",
            "description": "The discount description",
            "nullable": true
          },
          "total": {
            "type": "number",
            "description": "Order total includes Product Total, Freight Total, Discount Total, Surcharge Total, and Tax",
            "format": "double"
          },
          "currencyId": {
            "type": "integer",
            "description": "The unique Cin7 currency Id.",
            "format": "int32"
          },
          "currencyCode": {
            "type": "string",
            "description": "The three-character ISO currency code e.g. NZD. Omit to use account default.",
            "nullable": true
          },
          "currencyRate": {
            "type": "number",
            "description": "The currency rate. ​​If no rate is specified (i.e. zero or null), Cin7 will lookup the currency rate from the start of the day as provided by our 3rd party currency service.",
            "format": "double"
          },
          "currencySymbol": {
            "type": "string",
            "description": "The currency symbol e.g. $. This field is automatically populate based on currency code.",
            "nullable": true
          },
          "taxStatus": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.TaxStatus"
          },
          "taxRate": {
            "maximum": 100,
            "minimum": 0,
            "type": "number",
            "description": "Tax Rate e.g. 15. If different from your default tax rate you will need to set the CostCenter or Alternative tax rate field as well.",
            "format": "double"
          },
          "source": {
            "type": "string",
            "description": "The source of the Transaction. This field is read-only.",
            "nullable": true
          },
          "customFields": {
            "type": "object",
            "additionalProperties": {
              "nullable": true
            },
            "description": "Custom fields.",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.Status.OrderStatus"
          },
          "stage": {
            "type": "string",
            "description": "Stage: New, Awaiting Payment, Declined, Dispatched, Processing, On Hold (default: New)",
            "nullable": true
          },
          "memberEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "The CRM contact email of a customer in an order",
            "format": "email",
            "nullable": true
          },
          "memberCostCenter": {
            "type": "string",
            "description": "Member Cost Center (Alternative GL Account).",
            "nullable": true
          },
          "memberAlternativeTaxRate": {
            "type": "string",
            "description": "The member Alternative Tax Rate.",
            "nullable": true
          },
          "costCenter": {
            "type": "string",
            "description": "Cost Center (Alternative GL Account).",
            "nullable": true
          },
          "alternativeTaxRate": {
            "type": "string",
            "description": "Alternative Tax Rate.",
            "nullable": true
          },
          "estimatedDeliveryDate": {
            "type": "string",
            "description": "Estimated Delivery Date",
            "format": "date-time",
            "nullable": true
          },
          "salesPersonId": {
            "type": "integer",
            "description": "The unique Cin7 user Id of the sales person.",
            "format": "int32"
          },
          "salesPersonEmail": {
            "maxLength": 250,
            "type": "string",
            "description": "Made obsolete. This value will be null in the response.",
            "format": "email",
            "nullable": true
          },
          "paymentTerms": {
            "type": "string",
            "description": "Payment terms",
            "nullable": true
          },
          "customerOrderNo": {
            "type": "string",
            "description": "Customer purchase order reference",
            "nullable": true
          },
          "voucherCode": {
            "maxLength": 30,
            "type": "string",
            "description": "Voucher code",
            "nullable": true
          },
          "deliveryInstructions": {
            "maxLength": 2000,
            "type": "string",
            "description": "Delivery instructions e.g. Leave at the door, beware the dog.",
            "nullable": true
          },
          "cancellationDate": {
            "type": "string",
            "description": "Order cancellation date - (Read-only)",
            "format": "date-time",
            "nullable": true
          },
          "modifiedCOGSDate": {
            "type": "string",
            "description": "Last modified date of Cost of Good Sold(COGS) - (Read-only)",
            "format": "date-time",
            "nullable": true
          },
          "invoiceDate": {
            "type": "string",
            "description": "Invoice date",
            "format": "date-time",
            "nullable": true
          },
          "invoiceNumber": {
            "type": "integer",
            "description": "Invoice number. This is a read-only field. It is updated when an invoice date is provided.",
            "format": "int32",
            "readOnly": true
          },
          "dispatchedDate": {
            "type": "string",
            "description": "The date that the order was fully dispatched.",
            "format": "date-time",
            "nullable": true
          },
          "logisticsCarrier": {
            "type": "string",
            "description": "Logistics Carrier",
            "nullable": true
          },
          "logisticsStatus": {
            "type": "integer",
            "description": "Logistics Status",
            "format": "int32",
            "nullable": true
          },
          "ediStatus": {
            "type": "integer",
            "description": "Edi Status",
            "format": "int32",
            "nullable": true
          },
          "distributionBranchId": {
            "type": "integer",
            "description": "Distribution Branch",
            "format": "int32",
            "nullable": true
          },
          "departmentNumber": {
            "type": "string",
            "description": "Department Number",
            "nullable": true
          },
          "storeLocationNumber": {
            "type": "string",
            "description": "Store Location Number",
            "nullable": true
          },
          "distributionCenter": {
            "type": "string",
            "description": "Distribution Center",
            "nullable": true
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.SalesOrders.SalesOrderItem"
            },
            "description": "Line Items",
            "nullable": true
          },
          "isVoid": {
            "type": "boolean",
            "description": "Set to true to void an order; note this behaviour is irreversible."
          },
          "accountingAttributes": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.AccountingAttributes"
          },
          "ssccNumber": {
            "type": "string",
            "description": "The Serial Shipping Container Code (SSCC Number) at the order level.",
            "nullable": true
          },
          "cartonsWithLineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.Enterprise.EDI.Cartonization.Models.CartonWithLineItems"
            },
            "description": "The cartons for this order.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.SerialNumber": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "serialnumber": {
            "type": "string",
            "description": "Serial number",
            "nullable": true
          },
          "productId": {
            "type": "integer",
            "description": "The unique Cin7 product Id.",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "The unique product option Id.",
            "format": "int32"
          },
          "lineItemId": {
            "type": "integer",
            "description": "The ID for the respective line item.",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The unique Cin7 price option code.",
            "nullable": true
          },
          "holdingGroup": {
            "type": "string",
            "description": "Holding Group",
            "nullable": true
          },
          "branchId": {
            "type": "integer",
            "description": "The unique Cin7 member Id of the branch.",
            "format": "int32"
          },
          "available": {
            "type": "number",
            "description": "Available",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Serial Number Class"
      },
      "Cin7.API.AspNetCore.Models.Size": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.Status.OrderStatus": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "Order status.",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.StockControl": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5
        ],
        "type": "integer",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.StockMovement": {
        "type": "object",
        "properties": {
          "batch": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "serial": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.StockUnit": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "description": "The unique Cin7 product Id.",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "The Product Option Id",
            "format": "int32"
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last Transaction Date",
            "format": "date-time",
            "nullable": true
          },
          "styleCode": {
            "type": "string",
            "description": "The style code.",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "The unique code i.e. SKU",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "description": "Barcode i.e. UPC",
            "nullable": true
          },
          "branchId": {
            "type": "integer",
            "description": "The unique Cin7 branch Id.",
            "format": "int32"
          },
          "branchName": {
            "type": "string",
            "description": "The branch name.",
            "nullable": true
          },
          "productName": {
            "type": "string",
            "description": "The product name",
            "nullable": true
          },
          "option1": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 1 (example: Red)",
            "nullable": true
          },
          "option2": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 2 (example: XL)",
            "nullable": true
          },
          "option3": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 3 (example: Cotton)",
            "nullable": true
          },
          "size": {
            "type": "string",
            "description": "Size (mainly for clothing when color size grid module is used)",
            "nullable": true
          },
          "available": {
            "type": "number",
            "description": "Available to Sell (StockOnHand - OpenSales)",
            "format": "double"
          },
          "stockOnHand": {
            "type": "number",
            "description": "The stock on hand (SOH)",
            "format": "double"
          },
          "openSales": {
            "type": "number",
            "description": "The open sales quantity i.e. The number of stock items on order.",
            "format": "double"
          },
          "incoming": {
            "type": "number",
            "description": "Inbound purchase order quantity",
            "format": "double"
          },
          "virtual": {
            "type": "number",
            "description": "Virtual stock for Kit products, zero for non-kit products",
            "format": "double"
          },
          "holding": {
            "type": "number",
            "description": "Holding stock.",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.SubContact": {
        "required": [
          "email",
          "firstName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 Id.",
            "format": "int32"
          },
          "company": {
            "maxLength": 150,
            "type": "string",
            "description": "Company",
            "nullable": true
          },
          "firstName": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "First Name"
          },
          "lastName": {
            "maxLength": 50,
            "type": "string",
            "description": "Last Name",
            "nullable": true
          },
          "jobTitle": {
            "maxLength": 50,
            "type": "string",
            "description": "Job Title",
            "nullable": true
          },
          "email": {
            "maxLength": 50,
            "minLength": 1,
            "type": "string",
            "description": "Email"
          },
          "mobile": {
            "maxLength": 50,
            "type": "string",
            "description": "Mobile",
            "nullable": true
          },
          "phone": {
            "maxLength": 50,
            "type": "string",
            "description": "Phone",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Sub Contact"
      },
      "Cin7.API.AspNetCore.Models.TaxStatus": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "description": "Tax Status",
        "format": "int32"
      },
      "Cin7.API.AspNetCore.Models.UomOption": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The unique Cin7 UOM Option Id",
            "format": "int32"
          },
          "productOptionId": {
            "type": "integer",
            "description": "The unique Cin7 Product Option Id",
            "format": "int32"
          },
          "code": {
            "type": "string",
            "description": "The UOM option code",
            "nullable": true
          },
          "option1": {
            "type": "string",
            "description": "Product option 1 (Example: Box)",
            "nullable": true
          },
          "option2": {
            "type": "string",
            "description": "Product option 2 (Example: XL)",
            "nullable": true
          },
          "option3": {
            "type": "string",
            "description": "Product option 3 (Example: Cotton)",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "description": "UOM quantity",
            "format": "double",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "description": "The UOM option barcode",
            "nullable": true
          },
          "supplierCode": {
            "type": "string",
            "description": "The UOM option Supplier code",
            "nullable": true
          },
          "priceColumns": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double",
              "nullable": true
            },
            "description": "Price Columns",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "UOM Option Model"
      },
      "Cin7.API.AspNetCore.Models.User": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The user ID.",
            "format": "int32"
          },
          "isActive": {
            "type": "boolean",
            "description": "The status of the User"
          },
          "firstName": {
            "type": "string",
            "description": "The user first name.",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "description": "The user last name.",
            "nullable": true
          },
          "jobTitle": {
            "type": "string",
            "description": "The user job title.",
            "nullable": true
          },
          "email": {
            "type": "string",
            "description": "The user email.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.V2.BomMasterV2": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "A unique Job ID.",
            "format": "int32"
          },
          "createdDate": {
            "type": "string",
            "description": "Created date time.",
            "format": "date-time",
            "nullable": true
          },
          "modifiedDate": {
            "type": "string",
            "description": "Last modified date time.",
            "format": "date-time"
          },
          "createdBy": {
            "type": "integer",
            "description": "Created by User ID.",
            "format": "int32"
          },
          "modifiedBy": {
            "type": "integer",
            "description": "Modified by User ID.",
            "format": "int32"
          },
          "productionNotes": {
            "type": "string",
            "description": "Production Notes.",
            "nullable": true
          },
          "reference": {
            "maxLength": 20,
            "type": "string",
            "description": "The unique Job reference.",
            "nullable": true
          },
          "products": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.BomProduct"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Models.Voucher": {
        "type": "object",
        "properties": {
          "createdDate": {
            "type": "string",
            "description": "Voucher Created Date",
            "format": "date-time"
          },
          "status": {
            "type": "string",
            "description": "Status - Active: voucher has balance, Inactive: already fully redeemed",
            "nullable": true
          },
          "code": {
            "type": "string",
            "description": "Voucher Code",
            "nullable": true
          },
          "type": {
            "type": "string",
            "description": "Voucher Type",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "Promotion Description",
            "nullable": true
          },
          "expiryDate": {
            "type": "string",
            "description": "Voucher Expiry Date",
            "format": "date-time"
          },
          "amount": {
            "type": "number",
            "description": "Voucher Amount",
            "format": "double"
          },
          "customerID": {
            "type": "integer",
            "description": "Customer ID of which voucher is assigned to",
            "format": "int32"
          },
          "customerEmail": {
            "type": "string",
            "description": "Customer Email of which voucher is assigned to",
            "nullable": true
          },
          "redeemedCount": {
            "type": "integer",
            "description": "Count on how many times the voucher has been redeemed. Only makes sense when RedeemedCountLimit=1",
            "format": "int32"
          },
          "redeemedCountLimit": {
            "type": "integer",
            "description": "Limit on how many times the voucher can be fully redeemed, should always be 1 unless modified from backend.\r\nCin7 vouchers don't have limit counts on partial redemptions as long as they have balance left.",
            "format": "int32"
          },
          "redeemedAmount": {
            "type": "number",
            "description": "Voucher Redeemed Amount",
            "format": "double"
          }
        },
        "additionalProperties": false,
        "description": "Voucher Model"
      },
      "Cin7.API.AspNetCore.Services.Products.Models.CreateProductDimensionsRequest": {
        "type": "object",
        "properties": {
          "weight": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product weight",
            "format": "double",
            "nullable": true
          },
          "height": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product height",
            "format": "double",
            "nullable": true
          },
          "width": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product width",
            "format": "double",
            "nullable": true
          },
          "length": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product length",
            "format": "double",
            "nullable": true
          },
          "volume": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "description": "The product volume",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Services.Products.Models.CreateProductOptionRequest": {
        "type": "object",
        "properties": {
          "productOptionCode": {
            "maxLength": 50,
            "type": "string",
            "description": "Code for this product option.\r\nIf not set, an identifier will be generated for it.",
            "nullable": true
          },
          "retailPrice": {
            "minimum": 0,
            "type": "number",
            "description": "Retail Price of the product",
            "format": "double"
          },
          "cost": {
            "minimum": 0,
            "type": "number",
            "description": "The product cost",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Services.Products.Models.CreateProductOptionsRequest": {
        "required": [
          "productId",
          "productOptionCode",
          "status"
        ],
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOptionStatus"
          },
          "productId": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "The id of the Product this product option belongs to.",
            "format": "int32"
          },
          "productOptionCode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "A unique Code for this product option."
          },
          "productOptionBarcode": {
            "maxLength": 20,
            "type": "string",
            "description": "A unique barcode",
            "nullable": true
          },
          "supplierCode": {
            "maxLength": 20,
            "type": "string",
            "nullable": true
          },
          "option1": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "option2": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "option3": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "specialPrice": {
            "type": "number",
            "description": "The special price",
            "format": "double"
          },
          "specialsStartDate": {
            "type": "string",
            "description": "Start date for the speical price to apply",
            "format": "date-time",
            "nullable": true
          },
          "specialDays": {
            "type": "integer",
            "description": "How many days the special will run starting from the SpecialsStartDate",
            "format": "int32"
          },
          "optionWeight": {
            "type": "number",
            "description": "The option weight",
            "format": "double"
          },
          "uomOptions": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateUomRequest"
            },
            "description": "An array of unit of measures.",
            "nullable": true
          },
          "priceColumns": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double",
              "nullable": true
            },
            "nullable": true
          },
          "sizes": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateSizeRequest"
            },
            "description": "Product option sizes. A size range id needs to be assigned to the product before creating\r\nsizes.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Services.Products.Models.CreateProductRequest": {
        "required": [
          "name",
          "productOptions"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 250,
            "minLength": 1,
            "type": "string",
            "description": "The product name"
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductStatus"
          },
          "styleCode": {
            "maxLength": 250,
            "type": "string",
            "description": "The Product style code",
            "nullable": true
          },
          "description": {
            "maxLength": 250,
            "type": "string",
            "description": "The product description",
            "nullable": true
          },
          "stockControl": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.StockControl"
          },
          "orderType": {
            "type": "string",
            "description": "Will default to Order if not set.\r\nOrder Type: Order, Kit, Limited Stock, Buy To Order, Pre-order, Gift Voucher",
            "nullable": true
          },
          "brand": {
            "maxLength": 250,
            "type": "string",
            "description": "The product brand name. Allow users to assign a brand name based on their preference. This doesn’t need to be part of the existing list of brands present in the backend.",
            "nullable": true
          },
          "optionLabel1": {
            "maxLength": 250,
            "type": "string",
            "description": "A label for the first product option (e.g., Color).",
            "nullable": true
          },
          "optionLabel2": {
            "maxLength": 250,
            "type": "string",
            "description": "A label for the second product option (e.g., Size).",
            "nullable": true
          },
          "optionLabel3": {
            "maxLength": 250,
            "type": "string",
            "description": "A label for the third product option (e.g., Fabric).",
            "nullable": true
          },
          "salesAccount": {
            "maxLength": 250,
            "type": "string",
            "description": "The sales account associated with the product.",
            "nullable": true
          },
          "purchasesAccount": {
            "maxLength": 250,
            "type": "string",
            "description": "The purchase account associated with the product.",
            "nullable": true
          },
          "importCustomsDuty": {
            "maxLength": 250,
            "type": "string",
            "description": "The import customs duty applicable to the product.",
            "nullable": true
          },
          "categoryIdArray": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Array of category IDs assigned to the product.",
            "nullable": true
          },
          "dimensions": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductDimensionsRequest"
          },
          "productOptions": {
            "maxItems": 1,
            "minItems": 1,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.CreateProductOptionRequest"
            },
            "description": "Prices and Costs of the product.\r\n *Only ONE Product Option* is supported at this time."
          },
          "sizeRangeId": {
            "type": "integer",
            "description": "The Id of the Size Range. This can be obtained from the GetSizeRanges Endpoint",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Services.Products.Models.CreateSizeRequest": {
        "required": [
          "size",
          "sizeCode"
        ],
        "type": "object",
        "properties": {
          "size": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Size name. The size name must match one of the sizes in the Size Range assigned to the product. Required when creating a new size."
          },
          "sizeCode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "A unique size code"
          },
          "sizeBarcode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "A unique size barcode",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An array of the sizes in the parent products size range. Must include all sizes"
      },
      "Cin7.API.AspNetCore.Services.Products.Models.CreateUomRequest": {
        "required": [
          "code",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "code": {
            "maxLength": 20,
            "minLength": 3,
            "type": "string",
            "description": "The UOM option code"
          },
          "option1": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 1 (Example: Box)",
            "nullable": true
          },
          "option2": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 2 (Example: Color)",
            "nullable": true
          },
          "option3": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 3 (Example: Cotton)",
            "nullable": true
          },
          "quantity": {
            "maximum": 2147483647,
            "type": "number",
            "description": "UOM quantity\r\nRequired when creating a new UOM",
            "format": "double"
          },
          "barcode": {
            "maxLength": 30,
            "minLength": 3,
            "type": "string",
            "description": "The UOM option barcode",
            "nullable": true
          },
          "supplierCode": {
            "maxLength": 50,
            "type": "string",
            "description": "The UOM option Supplier code",
            "nullable": true
          },
          "priceColumns": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double",
              "nullable": true
            },
            "description": "Price Columns",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Services.Products.Models.SizeRequest": {
        "type": "object",
        "properties": {
          "sizeId": {
            "type": "integer",
            "description": "Size Id. Leave empty to create a new size, or include to update an existing size.",
            "format": "int32",
            "nullable": true
          },
          "size": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "Size name. The size name must match one of the sizes in the Size Range assigned to the product. Required when creating a new size.",
            "nullable": true
          },
          "sizeCode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "A unique size code",
            "nullable": true
          },
          "sizeBarcode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "A unique size barcode",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Services.Products.Models.UomRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The UOM Id\r\nLeave empty to create a new UOM or include to update an existing UOM",
            "format": "int32",
            "nullable": true
          },
          "code": {
            "maxLength": 20,
            "minLength": 3,
            "type": "string",
            "description": "The UOM option code",
            "nullable": true
          },
          "option1": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 1 (Example: Box)",
            "nullable": true
          },
          "option2": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 2 (Example: Color)",
            "nullable": true
          },
          "option3": {
            "maxLength": 50,
            "type": "string",
            "description": "Product option 3 (Example: Cotton)",
            "nullable": true
          },
          "quantity": {
            "maximum": 2147483647,
            "type": "number",
            "description": "UOM quantity\r\nRequired when creating a new UOM",
            "format": "double",
            "nullable": true
          },
          "barcode": {
            "maxLength": 30,
            "minLength": 3,
            "type": "string",
            "description": "The UOM option barcode",
            "nullable": true
          },
          "supplierCode": {
            "maxLength": 50,
            "type": "string",
            "description": "The UOM option Supplier code",
            "nullable": true
          },
          "priceColumns": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double",
              "nullable": true
            },
            "description": "Price Columns",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Services.Products.Models.UpdateProductDimensionsRequest": {
        "type": "object",
        "properties": {
          "weight": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "height": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "width": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "length": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "volume": {
            "maximum": 999,
            "minimum": 0,
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Leave fields null to not update them."
      },
      "Cin7.API.AspNetCore.Services.Products.Models.UpdateProductOptionsRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Product Option Id",
            "format": "int32"
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductOptionStatus"
          },
          "productOptionCode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "description": "ProductOptionCode",
            "nullable": true
          },
          "productOptionBarcode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "nullable": true
          },
          "supplierCode": {
            "maxLength": 20,
            "minLength": 1,
            "type": "string",
            "nullable": true
          },
          "option1": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "option2": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "option3": {
            "maxLength": 50,
            "type": "string",
            "nullable": true
          },
          "specialPrice": {
            "type": "number",
            "description": "The special price",
            "format": "double",
            "nullable": true
          },
          "specialsStartDate": {
            "type": "string",
            "description": "Start date for the speical price to apply",
            "format": "date-time",
            "nullable": true
          },
          "specialDays": {
            "type": "integer",
            "description": "How many days the special will run starting from the SpecialsStartDate",
            "format": "int32",
            "nullable": true
          },
          "optionWeight": {
            "type": "number",
            "description": "The option weight",
            "format": "double",
            "nullable": true
          },
          "uomOptions": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UomRequest"
            },
            "description": "An array of unit of measures.",
            "nullable": true
          },
          "priceColumns": {
            "type": "object",
            "additionalProperties": {
              "type": "number",
              "format": "double",
              "nullable": true
            },
            "nullable": true
          },
          "sizes": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.SizeRequest"
            },
            "description": "Product option sizes. A size range id needs to be assigned to the product before creating\r\nsizes.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.API.AspNetCore.Services.Products.Models.UpdateProductRequest": {
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 250,
            "minLength": 2,
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Models.ProductStatus"
          },
          "description": {
            "maxLength": 250,
            "type": "string",
            "nullable": true
          },
          "styleCode": {
            "maxLength": 250,
            "type": "string",
            "nullable": true
          },
          "brand": {
            "maxLength": 250,
            "type": "string",
            "description": "The product brand name. Allow users to assign a brand name based on their preference. This doesn’t need to be part of the existing list of brands present in the backend.",
            "nullable": true
          },
          "optionLabel1": {
            "maxLength": 250,
            "type": "string",
            "description": "A label for the first product option (e.g., Color).",
            "nullable": true
          },
          "optionLabel2": {
            "maxLength": 250,
            "type": "string",
            "description": "A label for the second product option (e.g., Size).",
            "nullable": true
          },
          "optionLabel3": {
            "maxLength": 250,
            "type": "string",
            "description": "A label for the third product option (e.g., Fabric).",
            "nullable": true
          },
          "salesAccount": {
            "maxLength": 250,
            "type": "string",
            "description": "The sales account associated with the product.",
            "nullable": true
          },
          "purchasesAccount": {
            "maxLength": 250,
            "type": "string",
            "description": "The purchase account associated with the product.",
            "nullable": true
          },
          "importCustomsDuty": {
            "maxLength": 250,
            "type": "string",
            "description": "The import customs duty applicable to the product.",
            "nullable": true
          },
          "sizeRangeId": {
            "type": "integer",
            "description": "The id of the Size Range available in Omni account.",
            "format": "int32",
            "nullable": true
          },
          "categoryIdArray": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "Array of category IDs assigned to the product.",
            "nullable": true
          },
          "productDimensions": {
            "$ref": "#/components/schemas/Cin7.API.AspNetCore.Services.Products.Models.UpdateProductDimensionsRequest"
          }
        },
        "additionalProperties": false,
        "description": "Request to update a Product.\r\nLeave fields null to not update them.\r\nLeave fields empty to clear them."
      },
      "Cin7.API.AspNetCore.Services.SizeRanges.SizeRange": {
        "type": "object",
        "properties": {
          "sizeRangeName": {
            "type": "string",
            "nullable": true
          },
          "sizes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "Cin7.Enterprise.DataAccess.Models.BranchLocation": {
        "type": "object",
        "properties": {
          "zone": {
            "type": "string",
            "nullable": true
          },
          "bins": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "Cin7.Enterprise.EDI.Cartonization.Models.CartonItem": {
        "type": "object",
        "properties": {
          "lineItemId": {
            "type": "integer",
            "format": "int32"
          },
          "productCode": {
            "type": "string",
            "nullable": true
          },
          "batchNumber": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "Cin7.Enterprise.EDI.Cartonization.Models.CartonWithLineItems": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "nullable": true
          },
          "sscc": {
            "type": "string",
            "nullable": true
          },
          "length": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "depth": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "height": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "volume": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "trackingNumber": {
            "type": "string",
            "nullable": true
          },
          "palletNumber": {
            "type": "string",
            "nullable": true
          },
          "cartonItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cin7.Enterprise.EDI.Cartonization.Models.CartonItem"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "basic": {
        "type": "http",
        "description": "Basic authentication with your Cin7 API username and password (same as API requests).",
        "scheme": "basic"
      }
    }
  },
  "tags": [
    {
      "name": "BomMasters",
      "description": "Endpoints for retrieving information about BOM Masters."
    },
    {
      "name": "Branches",
      "description": "Endpoints for retrieving information about Branches."
    },
    {
      "name": "Contacts",
      "description": "Endpoints for retrieving information about Contacts."
    },
    {
      "name": "CreditNotes",
      "description": "Endpoints for retrieving information about Credit Notes."
    },
    {
      "name": "FeesAndPayouts",
      "description": "Endpoints for retrieving information about Cin7 Pay payment fees and payouts.\r\nUse the where parameter to filter by date."
    },
    {
      "name": "Payments",
      "description": "Endpoints for retrieving information about payments."
    },
    {
      "name": "ProductCategories",
      "description": "Endpoints for retrieving information about Products Categories."
    },
    {
      "name": "ProductionJobs",
      "description": "Endpoints for retrieving information about Production Jobs."
    },
    {
      "name": "ProductOptions",
      "description": "Endpoints for retrieving information about product options."
    },
    {
      "name": "Products",
      "description": "Endpoints for retrieving information about products."
    },
    {
      "name": "Quotes",
      "description": "Endpoints for retrieving information about quotes"
    },
    {
      "name": "SerialNumbers",
      "description": "Endpoints for retrieving information about Serial Numbers."
    },
    {
      "name": "Stock",
      "description": "Endpoints for retrieving information about stock."
    },
    {
      "name": "Users",
      "description": "Endpoints for retrieving information about users. Users may take up to 2 hours to appear in the API."
    },
    {
      "name": "Voucher",
      "description": "Endpoints for retrieving information about vouchers."
    },
    {
      "name": "PurchaseOrders",
      "description": "Endpoints for retrieving information about purchase orders."
    },
    {
      "name": "SalesOrders",
      "description": "Endpoints for retrieving information about sales orders"
    }
  ]
}