{
    "openapi":  "3.0.3",
    "info":  {
                 "title":  "OfekWms Inventory API",
                 "description":  "Isolated WMS/3PL. Owner-scoped Bearer tokens for integrations. Cookie sessions additionally require X-CSRF-Token on mutations. All inventory commands require Idempotency-Key. Invoice creation is never warehouse dispatch.",
                 "version":  "1.0.0"
             },
    "servers":  [
                    {
                        "url":  "http://127.0.0.1:5278",
                        "description":  "Local demo only"
                    }
                ],
    "security":  [
                     {
                         "bearerAuth":  [

                                        ]
                     },
                     {
                         "cookieAuth":  [

                                        ]
                     }
                 ],
    "paths":  {
                  "/api/health":  {
                                      "get":  {
                                                  "summary":  "health",
                                                  "parameters":  [

                                                                 ],
                                                  "responses":  {
                                                                    "403":  {
                                                                                "description":  "Role/CSRF denied"
                                                                            },
                                                                    "401":  {
                                                                                "description":  "Authentication required"
                                                                            },
                                                                    "400":  {
                                                                                "description":  "Invalid input or missing idempotency key"
                                                                            },
                                                                    "404":  {
                                                                                "description":  "Not found or outside allowed owner/warehouse scope"
                                                                            },
                                                                    "200":  {
                                                                                "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                            },
                                                                    "409":  {
                                                                                "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                            }
                                                                },
                                                  "security":  [

                                                               ]
                                              }
                                  },
                  "/api/login":  {
                                     "post":  {
                                                  "summary":  "login",
                                                  "parameters":  [

                                                                 ],
                                                  "responses":  {
                                                                    "403":  {
                                                                                "description":  "Role/CSRF denied"
                                                                            },
                                                                    "401":  {
                                                                                "description":  "Authentication required"
                                                                            },
                                                                    "400":  {
                                                                                "description":  "Invalid input or missing idempotency key"
                                                                            },
                                                                    "404":  {
                                                                                "description":  "Not found or outside allowed owner/warehouse scope"
                                                                            },
                                                                    "200":  {
                                                                                "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                            },
                                                                    "409":  {
                                                                                "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                            }
                                                                },
                                                  "requestBody":  {
                                                                      "content":  {
                                                                                      "application/json":  {
                                                                                                               "schema":  {
                                                                                                                              "$ref":  "#/components/schemas/LoginInput"
                                                                                                                          }
                                                                                                           }
                                                                                  },
                                                                      "required":  true
                                                                  },
                                                  "security":  [

                                                               ]
                                              }
                                 },
                  "/api/logout":  {
                                      "post":  {
                                                   "summary":  "logout",
                                                   "parameters":  [

                                                                  ],
                                                   "responses":  {
                                                                     "403":  {
                                                                                 "description":  "Role/CSRF denied"
                                                                             },
                                                                     "401":  {
                                                                                 "description":  "Authentication required"
                                                                             },
                                                                     "400":  {
                                                                                 "description":  "Invalid input or missing idempotency key"
                                                                             },
                                                                     "404":  {
                                                                                 "description":  "Not found or outside allowed owner/warehouse scope"
                                                                             },
                                                                     "200":  {
                                                                                 "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                             },
                                                                     "409":  {
                                                                                 "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                             }
                                                                 }
                                               }
                                  },
                  "/api/session":  {
                                       "get":  {
                                                   "summary":  "session",
                                                   "parameters":  [

                                                                  ],
                                                   "responses":  {
                                                                     "403":  {
                                                                                 "description":  "Role/CSRF denied"
                                                                             },
                                                                     "401":  {
                                                                                 "description":  "Authentication required"
                                                                             },
                                                                     "400":  {
                                                                                 "description":  "Invalid input or missing idempotency key"
                                                                             },
                                                                     "404":  {
                                                                                 "description":  "Not found or outside allowed owner/warehouse scope"
                                                                             },
                                                                     "200":  {
                                                                                 "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                             },
                                                                     "409":  {
                                                                                 "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                             }
                                                                 }
                                               }
                                   },
                  "/api/catalog":  {
                                       "get":  {
                                                   "summary":  "catalog",
                                                   "parameters":  [

                                                                  ],
                                                   "responses":  {
                                                                     "403":  {
                                                                                 "description":  "Role/CSRF denied"
                                                                             },
                                                                     "401":  {
                                                                                 "description":  "Authentication required"
                                                                             },
                                                                     "400":  {
                                                                                 "description":  "Invalid input or missing idempotency key"
                                                                             },
                                                                     "404":  {
                                                                                 "description":  "Not found or outside allowed owner/warehouse scope"
                                                                             },
                                                                     "200":  {
                                                                                 "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                             },
                                                                     "409":  {
                                                                                 "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                             }
                                                                 }
                                               }
                                   },
                  "/api/alerts":  {
                                      "get":  {
                                                  "summary":  "alerts",
                                                  "parameters":  [

                                                                 ],
                                                  "responses":  {
                                                                    "403":  {
                                                                                "description":  "Role/CSRF denied"
                                                                            },
                                                                    "401":  {
                                                                                "description":  "Authentication required"
                                                                            },
                                                                    "400":  {
                                                                                "description":  "Invalid input or missing idempotency key"
                                                                            },
                                                                    "404":  {
                                                                                "description":  "Not found or outside allowed owner/warehouse scope"
                                                                            },
                                                                    "200":  {
                                                                                "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                            },
                                                                    "409":  {
                                                                                "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                            }
                                                                }
                                              }
                                  },
                  "/api/stock":  {
                                     "get":  {
                                                 "summary":  "stock",
                                                 "parameters":  [
                                                                    {
                                                                        "name":  "search",
                                                                        "in":  "query",
                                                                        "schema":  {
                                                                                       "type":  "string"
                                                                                   },
                                                                        "required":  false
                                                                    },
                                                                    {
                                                                        "name":  "owner",
                                                                        "in":  "query",
                                                                        "schema":  {
                                                                                       "type":  "integer",
                                                                                       "format":  "int64"
                                                                                   },
                                                                        "required":  false
                                                                    },
                                                                    {
                                                                        "name":  "warehouse",
                                                                        "in":  "query",
                                                                        "schema":  {
                                                                                       "type":  "integer",
                                                                                       "format":  "int64"
                                                                                   },
                                                                        "required":  false
                                                                    },
                                                                    {
                                                                        "name":  "location",
                                                                        "in":  "query",
                                                                        "schema":  {
                                                                                       "type":  "integer",
                                                                                       "format":  "int64"
                                                                                   },
                                                                        "required":  false
                                                                    }
                                                                ],
                                                 "responses":  {
                                                                   "403":  {
                                                                               "description":  "Role/CSRF denied"
                                                                           },
                                                                   "401":  {
                                                                               "description":  "Authentication required"
                                                                           },
                                                                   "400":  {
                                                                               "description":  "Invalid input or missing idempotency key"
                                                                           },
                                                                   "404":  {
                                                                               "description":  "Not found or outside allowed owner/warehouse scope"
                                                                           },
                                                                   "200":  {
                                                                               "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                           },
                                                                   "409":  {
                                                                               "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                           }
                                                               }
                                             }
                                 },
                  "/api/units":  {
                                     "get":  {
                                                 "summary":  "units",
                                                 "parameters":  [
                                                                    {
                                                                        "name":  "search",
                                                                        "in":  "query",
                                                                        "schema":  {
                                                                                       "type":  "string"
                                                                                   },
                                                                        "required":  false
                                                                    },
                                                                    {
                                                                        "name":  "product",
                                                                        "in":  "query",
                                                                        "schema":  {
                                                                                       "type":  "integer",
                                                                                       "format":  "int64"
                                                                                   },
                                                                        "required":  false
                                                                    }
                                                                ],
                                                 "responses":  {
                                                                   "403":  {
                                                                               "description":  "Role/CSRF denied"
                                                                           },
                                                                   "401":  {
                                                                               "description":  "Authentication required"
                                                                           },
                                                                   "400":  {
                                                                               "description":  "Invalid input or missing idempotency key"
                                                                           },
                                                                   "404":  {
                                                                               "description":  "Not found or outside allowed owner/warehouse scope"
                                                                           },
                                                                   "200":  {
                                                                               "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                           },
                                                                   "409":  {
                                                                               "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                           }
                                                               }
                                             }
                                 },
                  "/api/documents":  {
                                         "get":  {
                                                     "summary":  "documents",
                                                     "parameters":  [
                                                                        {
                                                                            "name":  "kind",
                                                                            "in":  "query",
                                                                            "schema":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                            "required":  false
                                                                        },
                                                                        {
                                                                            "name":  "search",
                                                                            "in":  "query",
                                                                            "schema":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                            "required":  false
                                                                        },
                                                                        {
                                                                            "name":  "from",
                                                                            "in":  "query",
                                                                            "schema":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                            "required":  false
                                                                        },
                                                                        {
                                                                            "name":  "to",
                                                                            "in":  "query",
                                                                            "schema":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                            "required":  false
                                                                        }
                                                                    ],
                                                     "responses":  {
                                                                       "403":  {
                                                                                   "description":  "Role/CSRF denied"
                                                                               },
                                                                       "401":  {
                                                                                   "description":  "Authentication required"
                                                                               },
                                                                       "400":  {
                                                                                   "description":  "Invalid input or missing idempotency key"
                                                                               },
                                                                       "404":  {
                                                                                   "description":  "Not found or outside allowed owner/warehouse scope"
                                                                               },
                                                                       "200":  {
                                                                                   "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                               },
                                                                       "409":  {
                                                                                   "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                               }
                                                                   }
                                                 }
                                     },
                  "/api/documents/{id}":  {
                                              "get":  {
                                                          "summary":  "documents/{id}",
                                                          "parameters":  [
                                                                             {
                                                                                 "name":  "id",
                                                                                 "in":  "path",
                                                                                 "schema":  {
                                                                                                "type":  "integer",
                                                                                                "format":  "int64"
                                                                                            },
                                                                                 "required":  true
                                                                             }
                                                                         ],
                                                          "responses":  {
                                                                            "403":  {
                                                                                        "description":  "Role/CSRF denied"
                                                                                    },
                                                                            "401":  {
                                                                                        "description":  "Authentication required"
                                                                                    },
                                                                            "400":  {
                                                                                        "description":  "Invalid input or missing idempotency key"
                                                                                    },
                                                                            "404":  {
                                                                                        "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                    },
                                                                            "200":  {
                                                                                        "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                    },
                                                                            "409":  {
                                                                                        "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                    }
                                                                        }
                                                      }
                                          },
                  "/api/movements":  {
                                         "get":  {
                                                     "summary":  "movements",
                                                     "parameters":  [
                                                                        {
                                                                            "name":  "search",
                                                                            "in":  "query",
                                                                            "schema":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                            "required":  false
                                                                        },
                                                                        {
                                                                            "name":  "from",
                                                                            "in":  "query",
                                                                            "schema":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                            "required":  false
                                                                        },
                                                                        {
                                                                            "name":  "to",
                                                                            "in":  "query",
                                                                            "schema":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                            "required":  false
                                                                        }
                                                                    ],
                                                     "responses":  {
                                                                       "403":  {
                                                                                   "description":  "Role/CSRF denied"
                                                                               },
                                                                       "401":  {
                                                                                   "description":  "Authentication required"
                                                                               },
                                                                       "400":  {
                                                                                   "description":  "Invalid input or missing idempotency key"
                                                                               },
                                                                       "404":  {
                                                                                   "description":  "Not found or outside allowed owner/warehouse scope"
                                                                               },
                                                                       "200":  {
                                                                                   "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                               },
                                                                       "409":  {
                                                                                   "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                               }
                                                                   }
                                                 }
                                     },
                  "/api/reports/stock.csv":  {
                                                 "get":  {
                                                             "summary":  "reports/stock.csv",
                                                             "parameters":  [
                                                                                {
                                                                                    "name":  "search",
                                                                                    "in":  "query",
                                                                                    "schema":  {
                                                                                                   "type":  "string"
                                                                                               },
                                                                                    "required":  false
                                                                                },
                                                                                {
                                                                                    "name":  "owner",
                                                                                    "in":  "query",
                                                                                    "schema":  {
                                                                                                   "type":  "integer",
                                                                                                   "format":  "int64"
                                                                                               },
                                                                                    "required":  false
                                                                                },
                                                                                {
                                                                                    "name":  "warehouse",
                                                                                    "in":  "query",
                                                                                    "schema":  {
                                                                                                   "type":  "integer",
                                                                                                   "format":  "int64"
                                                                                               },
                                                                                    "required":  false
                                                                                },
                                                                                {
                                                                                    "name":  "location",
                                                                                    "in":  "query",
                                                                                    "schema":  {
                                                                                                   "type":  "integer",
                                                                                                   "format":  "int64"
                                                                                               },
                                                                                    "required":  false
                                                                                }
                                                                            ],
                                                             "responses":  {
                                                                               "403":  {
                                                                                           "description":  "Role/CSRF denied"
                                                                                       },
                                                                               "401":  {
                                                                                           "description":  "Authentication required"
                                                                                       },
                                                                               "400":  {
                                                                                           "description":  "Invalid input or missing idempotency key"
                                                                                       },
                                                                               "404":  {
                                                                                           "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                       },
                                                                               "200":  {
                                                                                           "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                       },
                                                                               "409":  {
                                                                                           "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                       }
                                                                           }
                                                         }
                                             },
                  "/api/reports/movements.csv":  {
                                                     "get":  {
                                                                 "summary":  "reports/movements.csv",
                                                                 "parameters":  [
                                                                                    {
                                                                                        "name":  "search",
                                                                                        "in":  "query",
                                                                                        "schema":  {
                                                                                                       "type":  "string"
                                                                                                   },
                                                                                        "required":  false
                                                                                    },
                                                                                    {
                                                                                        "name":  "from",
                                                                                        "in":  "query",
                                                                                        "schema":  {
                                                                                                       "type":  "string"
                                                                                                   },
                                                                                        "required":  false
                                                                                    },
                                                                                    {
                                                                                        "name":  "to",
                                                                                        "in":  "query",
                                                                                        "schema":  {
                                                                                                       "type":  "string"
                                                                                                   },
                                                                                        "required":  false
                                                                                    }
                                                                                ],
                                                                 "responses":  {
                                                                                   "403":  {
                                                                                               "description":  "Role/CSRF denied"
                                                                                           },
                                                                                   "401":  {
                                                                                               "description":  "Authentication required"
                                                                                           },
                                                                                   "400":  {
                                                                                               "description":  "Invalid input or missing idempotency key"
                                                                                           },
                                                                                   "404":  {
                                                                                               "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                           },
                                                                                   "200":  {
                                                                                               "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                           },
                                                                                   "409":  {
                                                                                               "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                           }
                                                                               }
                                                             }
                                                 },
                  "/api/documents/{id}/print":  {
                                                    "get":  {
                                                                "summary":  "documents/{id}/print",
                                                                "parameters":  [
                                                                                   {
                                                                                       "name":  "id",
                                                                                       "in":  "path",
                                                                                       "schema":  {
                                                                                                      "type":  "integer",
                                                                                                      "format":  "int64"
                                                                                                  },
                                                                                       "required":  true
                                                                                   }
                                                                               ],
                                                                "responses":  {
                                                                                  "403":  {
                                                                                              "description":  "Role/CSRF denied"
                                                                                          },
                                                                                  "401":  {
                                                                                              "description":  "Authentication required"
                                                                                          },
                                                                                  "400":  {
                                                                                              "description":  "Invalid input or missing idempotency key"
                                                                                          },
                                                                                  "404":  {
                                                                                              "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                          },
                                                                                  "200":  {
                                                                                              "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                          },
                                                                                  "409":  {
                                                                                              "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                          }
                                                                              }
                                                            }
                                                },
                  "/api/documents/{id}/download":  {
                                                       "get":  {
                                                                   "summary":  "documents/{id}/download",
                                                                   "parameters":  [
                                                                                      {
                                                                                          "name":  "id",
                                                                                          "in":  "path",
                                                                                          "schema":  {
                                                                                                         "type":  "integer",
                                                                                                         "format":  "int64"
                                                                                                     },
                                                                                          "required":  true
                                                                                      }
                                                                                  ],
                                                                   "responses":  {
                                                                                     "403":  {
                                                                                                 "description":  "Role/CSRF denied"
                                                                                             },
                                                                                     "401":  {
                                                                                                 "description":  "Authentication required"
                                                                                             },
                                                                                     "400":  {
                                                                                                 "description":  "Invalid input or missing idempotency key"
                                                                                             },
                                                                                     "404":  {
                                                                                                 "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                             },
                                                                                     "200":  {
                                                                                                 "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                             },
                                                                                     "409":  {
                                                                                                 "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                             }
                                                                                 }
                                                               }
                                                   },
                  "/api/attachments/{id}":  {
                                                "get":  {
                                                            "summary":  "attachments/{id}",
                                                            "parameters":  [
                                                                               {
                                                                                   "name":  "id",
                                                                                   "in":  "path",
                                                                                   "schema":  {
                                                                                                  "type":  "integer",
                                                                                                  "format":  "int64"
                                                                                              },
                                                                                   "required":  true
                                                                               }
                                                                           ],
                                                            "responses":  {
                                                                              "403":  {
                                                                                          "description":  "Role/CSRF denied"
                                                                                      },
                                                                              "401":  {
                                                                                          "description":  "Authentication required"
                                                                                      },
                                                                              "400":  {
                                                                                          "description":  "Invalid input or missing idempotency key"
                                                                                      },
                                                                              "404":  {
                                                                                          "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                      },
                                                                              "200":  {
                                                                                          "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                      },
                                                                              "409":  {
                                                                                          "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                      }
                                                                          }
                                                        }
                                            },
                  "/api/products":  {
                                        "post":  {
                                                     "summary":  "products",
                                                     "parameters":  [
                                                                        {
                                                                            "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                            "name":  "Idempotency-Key",
                                                                            "in":  "header",
                                                                            "schema":  {
                                                                                           "maxLength":  100,
                                                                                           "type":  "string"
                                                                                       },
                                                                            "required":  true
                                                                        }
                                                                    ],
                                                     "responses":  {
                                                                       "403":  {
                                                                                   "description":  "Role/CSRF denied"
                                                                               },
                                                                       "401":  {
                                                                                   "description":  "Authentication required"
                                                                               },
                                                                       "400":  {
                                                                                   "description":  "Invalid input or missing idempotency key"
                                                                               },
                                                                       "404":  {
                                                                                   "description":  "Not found or outside allowed owner/warehouse scope"
                                                                               },
                                                                       "200":  {
                                                                                   "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                               },
                                                                       "409":  {
                                                                                   "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                               }
                                                                   },
                                                     "requestBody":  {
                                                                         "content":  {
                                                                                         "application/json":  {
                                                                                                                  "schema":  {
                                                                                                                                 "$ref":  "#/components/schemas/ProductInput"
                                                                                                                             }
                                                                                                              }
                                                                                     },
                                                                         "required":  true
                                                                     }
                                                 }
                                    },
                  "/api/products/{id}/edit":  {
                                                  "post":  {
                                                               "summary":  "products/{id}/edit",
                                                               "parameters":  [
                                                                                  {
                                                                                      "name":  "id",
                                                                                      "in":  "path",
                                                                                      "schema":  {
                                                                                                     "type":  "integer",
                                                                                                     "format":  "int64"
                                                                                                 },
                                                                                      "required":  true
                                                                                  },
                                                                                  {
                                                                                      "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                      "name":  "Idempotency-Key",
                                                                                      "in":  "header",
                                                                                      "schema":  {
                                                                                                     "maxLength":  100,
                                                                                                     "type":  "string"
                                                                                                 },
                                                                                      "required":  true
                                                                                  }
                                                                              ],
                                                               "responses":  {
                                                                                 "403":  {
                                                                                             "description":  "Role/CSRF denied"
                                                                                         },
                                                                                 "401":  {
                                                                                             "description":  "Authentication required"
                                                                                         },
                                                                                 "400":  {
                                                                                             "description":  "Invalid input or missing idempotency key"
                                                                                         },
                                                                                 "404":  {
                                                                                             "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                         },
                                                                                 "200":  {
                                                                                             "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                         },
                                                                                 "409":  {
                                                                                             "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                         }
                                                                             },
                                                               "requestBody":  {
                                                                                   "content":  {
                                                                                                   "application/json":  {
                                                                                                                            "schema":  {
                                                                                                                                           "$ref":  "#/components/schemas/ProductInput"
                                                                                                                                       }
                                                                                                                        }
                                                                                               },
                                                                                   "required":  true
                                                                               }
                                                           }
                                              },
                  "/api/documents/{id}/edit":  {
                                                   "post":  {
                                                                "summary":  "documents/{id}/edit",
                                                                "parameters":  [
                                                                                   {
                                                                                       "name":  "id",
                                                                                       "in":  "path",
                                                                                       "schema":  {
                                                                                                      "type":  "integer",
                                                                                                      "format":  "int64"
                                                                                                  },
                                                                                       "required":  true
                                                                                   },
                                                                                   {
                                                                                       "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                       "name":  "Idempotency-Key",
                                                                                       "in":  "header",
                                                                                       "schema":  {
                                                                                                      "maxLength":  100,
                                                                                                      "type":  "string"
                                                                                                  },
                                                                                       "required":  true
                                                                                   }
                                                                               ],
                                                                "responses":  {
                                                                                  "403":  {
                                                                                              "description":  "Role/CSRF denied"
                                                                                          },
                                                                                  "401":  {
                                                                                              "description":  "Authentication required"
                                                                                          },
                                                                                  "400":  {
                                                                                              "description":  "Invalid input or missing idempotency key"
                                                                                          },
                                                                                  "404":  {
                                                                                              "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                          },
                                                                                  "200":  {
                                                                                              "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                          },
                                                                                  "409":  {
                                                                                              "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                          }
                                                                              },
                                                                "requestBody":  {
                                                                                    "content":  {
                                                                                                    "application/json":  {
                                                                                                                             "schema":  {
                                                                                                                                            "$ref":  "#/components/schemas/DocumentInput"
                                                                                                                                        }
                                                                                                                         }
                                                                                                },
                                                                                    "required":  true
                                                                                }
                                                            }
                                               },
                  "/api/receipts":  {
                                        "post":  {
                                                     "summary":  "receipts",
                                                     "parameters":  [
                                                                        {
                                                                            "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                            "name":  "Idempotency-Key",
                                                                            "in":  "header",
                                                                            "schema":  {
                                                                                           "maxLength":  100,
                                                                                           "type":  "string"
                                                                                       },
                                                                            "required":  true
                                                                        }
                                                                    ],
                                                     "responses":  {
                                                                       "403":  {
                                                                                   "description":  "Role/CSRF denied"
                                                                               },
                                                                       "401":  {
                                                                                   "description":  "Authentication required"
                                                                               },
                                                                       "400":  {
                                                                                   "description":  "Invalid input or missing idempotency key"
                                                                               },
                                                                       "404":  {
                                                                                   "description":  "Not found or outside allowed owner/warehouse scope"
                                                                               },
                                                                       "200":  {
                                                                                   "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                               },
                                                                       "409":  {
                                                                                   "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                               }
                                                                   },
                                                     "requestBody":  {
                                                                         "content":  {
                                                                                         "application/json":  {
                                                                                                                  "schema":  {
                                                                                                                                 "$ref":  "#/components/schemas/DocumentInput"
                                                                                                                             }
                                                                                                              }
                                                                                     },
                                                                         "required":  true
                                                                     }
                                                 }
                                    },
                  "/api/receipts/{id}/record":  {
                                                    "post":  {
                                                                 "summary":  "receipts/{id}/record",
                                                                 "parameters":  [
                                                                                    {
                                                                                        "name":  "id",
                                                                                        "in":  "path",
                                                                                        "schema":  {
                                                                                                       "type":  "integer",
                                                                                                       "format":  "int64"
                                                                                                   },
                                                                                        "required":  true
                                                                                    },
                                                                                    {
                                                                                        "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                        "name":  "Idempotency-Key",
                                                                                        "in":  "header",
                                                                                        "schema":  {
                                                                                                       "maxLength":  100,
                                                                                                       "type":  "string"
                                                                                                   },
                                                                                        "required":  true
                                                                                    }
                                                                                ],
                                                                 "responses":  {
                                                                                   "403":  {
                                                                                               "description":  "Role/CSRF denied"
                                                                                           },
                                                                                   "401":  {
                                                                                               "description":  "Authentication required"
                                                                                           },
                                                                                   "400":  {
                                                                                               "description":  "Invalid input or missing idempotency key"
                                                                                           },
                                                                                   "404":  {
                                                                                               "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                           },
                                                                                   "200":  {
                                                                                               "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                           },
                                                                                   "409":  {
                                                                                               "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                           }
                                                                               },
                                                                 "requestBody":  {
                                                                                     "content":  {
                                                                                                     "application/json":  {
                                                                                                                              "schema":  {
                                                                                                                                             "$ref":  "#/components/schemas/ReceiptInput"
                                                                                                                                         }
                                                                                                                          }
                                                                                                 },
                                                                                     "required":  true
                                                                                 }
                                                             }
                                                },
                  "/api/receipts/{id}/approve":  {
                                                     "post":  {
                                                                  "summary":  "receipts/{id}/approve",
                                                                  "parameters":  [
                                                                                     {
                                                                                         "name":  "id",
                                                                                         "in":  "path",
                                                                                         "schema":  {
                                                                                                        "type":  "integer",
                                                                                                        "format":  "int64"
                                                                                                    },
                                                                                         "required":  true
                                                                                     },
                                                                                     {
                                                                                         "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                         "name":  "Idempotency-Key",
                                                                                         "in":  "header",
                                                                                         "schema":  {
                                                                                                        "maxLength":  100,
                                                                                                        "type":  "string"
                                                                                                    },
                                                                                         "required":  true
                                                                                     }
                                                                                 ],
                                                                  "responses":  {
                                                                                    "403":  {
                                                                                                "description":  "Role/CSRF denied"
                                                                                            },
                                                                                    "401":  {
                                                                                                "description":  "Authentication required"
                                                                                            },
                                                                                    "400":  {
                                                                                                "description":  "Invalid input or missing idempotency key"
                                                                                            },
                                                                                    "404":  {
                                                                                                "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                            },
                                                                                    "200":  {
                                                                                                "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                            },
                                                                                    "409":  {
                                                                                                "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                            }
                                                                                },
                                                                  "requestBody":  {
                                                                                      "content":  {
                                                                                                      "application/json":  {
                                                                                                                               "schema":  {
                                                                                                                                              "$ref":  "#/components/schemas/ReceiptInput"
                                                                                                                                          }
                                                                                                                           }
                                                                                                  },
                                                                                      "required":  true
                                                                                  }
                                                              }
                                                 },
                  "/api/orders":  {
                                      "post":  {
                                                   "summary":  "orders",
                                                   "parameters":  [
                                                                      {
                                                                          "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                          "name":  "Idempotency-Key",
                                                                          "in":  "header",
                                                                          "schema":  {
                                                                                         "maxLength":  100,
                                                                                         "type":  "string"
                                                                                     },
                                                                          "required":  true
                                                                      }
                                                                  ],
                                                   "responses":  {
                                                                     "403":  {
                                                                                 "description":  "Role/CSRF denied"
                                                                             },
                                                                     "401":  {
                                                                                 "description":  "Authentication required"
                                                                             },
                                                                     "400":  {
                                                                                 "description":  "Invalid input or missing idempotency key"
                                                                             },
                                                                     "404":  {
                                                                                 "description":  "Not found or outside allowed owner/warehouse scope"
                                                                             },
                                                                     "200":  {
                                                                                 "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                             },
                                                                     "409":  {
                                                                                 "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                             }
                                                                 },
                                                   "requestBody":  {
                                                                       "content":  {
                                                                                       "application/json":  {
                                                                                                                "schema":  {
                                                                                                                               "$ref":  "#/components/schemas/DocumentInput"
                                                                                                                           }
                                                                                                            }
                                                                                   },
                                                                       "required":  true
                                                                   }
                                               }
                                  },
                  "/api/orders/{id}/submit":  {
                                                  "post":  {
                                                               "summary":  "orders/{id}/submit",
                                                               "parameters":  [
                                                                                  {
                                                                                      "name":  "id",
                                                                                      "in":  "path",
                                                                                      "schema":  {
                                                                                                     "type":  "integer",
                                                                                                     "format":  "int64"
                                                                                                 },
                                                                                      "required":  true
                                                                                  },
                                                                                  {
                                                                                      "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                      "name":  "Idempotency-Key",
                                                                                      "in":  "header",
                                                                                      "schema":  {
                                                                                                     "maxLength":  100,
                                                                                                     "type":  "string"
                                                                                                 },
                                                                                      "required":  true
                                                                                  }
                                                                              ],
                                                               "responses":  {
                                                                                 "403":  {
                                                                                             "description":  "Role/CSRF denied"
                                                                                         },
                                                                                 "401":  {
                                                                                             "description":  "Authentication required"
                                                                                         },
                                                                                 "400":  {
                                                                                             "description":  "Invalid input or missing idempotency key"
                                                                                         },
                                                                                 "404":  {
                                                                                             "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                         },
                                                                                 "200":  {
                                                                                             "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                         },
                                                                                 "409":  {
                                                                                             "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                         }
                                                                             }
                                                           }
                                              },
                  "/api/orders/{id}/prepare-pick":  {
                                                        "post":  {
                                                                     "summary":  "orders/{id}/prepare-pick",
                                                                     "parameters":  [
                                                                                        {
                                                                                            "name":  "id",
                                                                                            "in":  "path",
                                                                                            "schema":  {
                                                                                                           "type":  "integer",
                                                                                                           "format":  "int64"
                                                                                                       },
                                                                                            "required":  true
                                                                                        },
                                                                                        {
                                                                                            "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                            "name":  "Idempotency-Key",
                                                                                            "in":  "header",
                                                                                            "schema":  {
                                                                                                           "maxLength":  100,
                                                                                                           "type":  "string"
                                                                                                       },
                                                                                            "required":  true
                                                                                        }
                                                                                    ],
                                                                     "responses":  {
                                                                                       "403":  {
                                                                                                   "description":  "Role/CSRF denied"
                                                                                               },
                                                                                       "401":  {
                                                                                                   "description":  "Authentication required"
                                                                                               },
                                                                                       "400":  {
                                                                                                   "description":  "Invalid input or missing idempotency key"
                                                                                               },
                                                                                       "404":  {
                                                                                                   "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                               },
                                                                                       "200":  {
                                                                                                   "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                               },
                                                                                       "409":  {
                                                                                                   "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                               }
                                                                                   }
                                                                 }
                                                    },
                  "/api/orders/{id}/reserve":  {
                                                   "post":  {
                                                                "summary":  "orders/{id}/reserve",
                                                                "parameters":  [
                                                                                   {
                                                                                       "name":  "id",
                                                                                       "in":  "path",
                                                                                       "schema":  {
                                                                                                      "type":  "integer",
                                                                                                      "format":  "int64"
                                                                                                  },
                                                                                       "required":  true
                                                                                   },
                                                                                   {
                                                                                       "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                       "name":  "Idempotency-Key",
                                                                                       "in":  "header",
                                                                                       "schema":  {
                                                                                                      "maxLength":  100,
                                                                                                      "type":  "string"
                                                                                                  },
                                                                                       "required":  true
                                                                                   }
                                                                               ],
                                                                "responses":  {
                                                                                  "403":  {
                                                                                              "description":  "Role/CSRF denied"
                                                                                          },
                                                                                  "401":  {
                                                                                              "description":  "Authentication required"
                                                                                          },
                                                                                  "400":  {
                                                                                              "description":  "Invalid input or missing idempotency key"
                                                                                          },
                                                                                  "404":  {
                                                                                              "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                          },
                                                                                  "200":  {
                                                                                              "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                          },
                                                                                  "409":  {
                                                                                              "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                          }
                                                                              },
                                                                "requestBody":  {
                                                                                    "content":  {
                                                                                                    "application/json":  {
                                                                                                                             "schema":  {
                                                                                                                                            "$ref":  "#/components/schemas/ReserveInput"
                                                                                                                                        }
                                                                                                                         }
                                                                                                },
                                                                                    "required":  true
                                                                                }
                                                            }
                                               },
                  "/api/orders/{id}/pick":  {
                                                "post":  {
                                                             "summary":  "orders/{id}/pick",
                                                             "parameters":  [
                                                                                {
                                                                                    "name":  "id",
                                                                                    "in":  "path",
                                                                                    "schema":  {
                                                                                                   "type":  "integer",
                                                                                                   "format":  "int64"
                                                                                               },
                                                                                    "required":  true
                                                                                },
                                                                                {
                                                                                    "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                    "name":  "Idempotency-Key",
                                                                                    "in":  "header",
                                                                                    "schema":  {
                                                                                                   "maxLength":  100,
                                                                                                   "type":  "string"
                                                                                               },
                                                                                    "required":  true
                                                                                }
                                                                            ],
                                                             "responses":  {
                                                                               "403":  {
                                                                                           "description":  "Role/CSRF denied"
                                                                                       },
                                                                               "401":  {
                                                                                           "description":  "Authentication required"
                                                                                       },
                                                                               "400":  {
                                                                                           "description":  "Invalid input or missing idempotency key"
                                                                                       },
                                                                               "404":  {
                                                                                           "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                       },
                                                                               "200":  {
                                                                                           "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                       },
                                                                               "409":  {
                                                                                           "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                       }
                                                                           },
                                                             "requestBody":  {
                                                                                 "content":  {
                                                                                                 "application/json":  {
                                                                                                                          "schema":  {
                                                                                                                                         "$ref":  "#/components/schemas/PickInput"
                                                                                                                                     }
                                                                                                                      }
                                                                                             },
                                                                                 "required":  true
                                                                             }
                                                         }
                                            },
                  "/api/orders/{id}/ready":  {
                                                 "post":  {
                                                              "summary":  "orders/{id}/ready",
                                                              "parameters":  [
                                                                                 {
                                                                                     "name":  "id",
                                                                                     "in":  "path",
                                                                                     "schema":  {
                                                                                                    "type":  "integer",
                                                                                                    "format":  "int64"
                                                                                                },
                                                                                     "required":  true
                                                                                 },
                                                                                 {
                                                                                     "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                     "name":  "Idempotency-Key",
                                                                                     "in":  "header",
                                                                                     "schema":  {
                                                                                                    "maxLength":  100,
                                                                                                    "type":  "string"
                                                                                                },
                                                                                     "required":  true
                                                                                 }
                                                                             ],
                                                              "responses":  {
                                                                                "403":  {
                                                                                            "description":  "Role/CSRF denied"
                                                                                        },
                                                                                "401":  {
                                                                                            "description":  "Authentication required"
                                                                                        },
                                                                                "400":  {
                                                                                            "description":  "Invalid input or missing idempotency key"
                                                                                        },
                                                                                "404":  {
                                                                                            "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                        },
                                                                                "200":  {
                                                                                            "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                        },
                                                                                "409":  {
                                                                                            "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                        }
                                                                            }
                                                          }
                                             },
                  "/api/orders/{id}/dispatch":  {
                                                    "post":  {
                                                                 "summary":  "orders/{id}/dispatch",
                                                                 "parameters":  [
                                                                                    {
                                                                                        "name":  "id",
                                                                                        "in":  "path",
                                                                                        "schema":  {
                                                                                                       "type":  "integer",
                                                                                                       "format":  "int64"
                                                                                                   },
                                                                                        "required":  true
                                                                                    },
                                                                                    {
                                                                                        "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                        "name":  "Idempotency-Key",
                                                                                        "in":  "header",
                                                                                        "schema":  {
                                                                                                       "maxLength":  100,
                                                                                                       "type":  "string"
                                                                                                   },
                                                                                        "required":  true
                                                                                    }
                                                                                ],
                                                                 "responses":  {
                                                                                   "403":  {
                                                                                               "description":  "Role/CSRF denied"
                                                                                           },
                                                                                   "401":  {
                                                                                               "description":  "Authentication required"
                                                                                           },
                                                                                   "400":  {
                                                                                               "description":  "Invalid input or missing idempotency key"
                                                                                           },
                                                                                   "404":  {
                                                                                               "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                           },
                                                                                   "200":  {
                                                                                               "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                           },
                                                                                   "409":  {
                                                                                               "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                           }
                                                                               },
                                                                 "requestBody":  {
                                                                                     "content":  {
                                                                                                     "application/json":  {
                                                                                                                              "schema":  {
                                                                                                                                             "$ref":  "#/components/schemas/DispatchInput"
                                                                                                                                         }
                                                                                                                          }
                                                                                                 },
                                                                                     "required":  true
                                                                                 }
                                                             }
                                                },
                  "/api/orders/{id}/cancel":  {
                                                  "post":  {
                                                               "summary":  "orders/{id}/cancel",
                                                               "parameters":  [
                                                                                  {
                                                                                      "name":  "id",
                                                                                      "in":  "path",
                                                                                      "schema":  {
                                                                                                     "type":  "integer",
                                                                                                     "format":  "int64"
                                                                                                 },
                                                                                      "required":  true
                                                                                  },
                                                                                  {
                                                                                      "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                      "name":  "Idempotency-Key",
                                                                                      "in":  "header",
                                                                                      "schema":  {
                                                                                                     "maxLength":  100,
                                                                                                     "type":  "string"
                                                                                                 },
                                                                                      "required":  true
                                                                                  }
                                                                              ],
                                                               "responses":  {
                                                                                 "403":  {
                                                                                             "description":  "Role/CSRF denied"
                                                                                         },
                                                                                 "401":  {
                                                                                             "description":  "Authentication required"
                                                                                         },
                                                                                 "400":  {
                                                                                             "description":  "Invalid input or missing idempotency key"
                                                                                         },
                                                                                 "404":  {
                                                                                             "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                         },
                                                                                 "200":  {
                                                                                             "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                         },
                                                                                 "409":  {
                                                                                             "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                         }
                                                                             },
                                                               "requestBody":  {
                                                                                   "content":  {
                                                                                                   "application/json":  {
                                                                                                                            "schema":  {
                                                                                                                                           "$ref":  "#/components/schemas/ReasonInput"
                                                                                                                                       }
                                                                                                                        }
                                                                                               },
                                                                                   "required":  true
                                                                               }
                                                           }
                                              },
                  "/api/returns":  {
                                       "post":  {
                                                    "summary":  "returns",
                                                    "parameters":  [
                                                                       {
                                                                           "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                           "name":  "Idempotency-Key",
                                                                           "in":  "header",
                                                                           "schema":  {
                                                                                          "maxLength":  100,
                                                                                          "type":  "string"
                                                                                      },
                                                                           "required":  true
                                                                       }
                                                                   ],
                                                    "responses":  {
                                                                      "403":  {
                                                                                  "description":  "Role/CSRF denied"
                                                                              },
                                                                      "401":  {
                                                                                  "description":  "Authentication required"
                                                                              },
                                                                      "400":  {
                                                                                  "description":  "Invalid input or missing idempotency key"
                                                                              },
                                                                      "404":  {
                                                                                  "description":  "Not found or outside allowed owner/warehouse scope"
                                                                              },
                                                                      "200":  {
                                                                                  "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                              },
                                                                      "409":  {
                                                                                  "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                              }
                                                                  },
                                                    "requestBody":  {
                                                                        "content":  {
                                                                                        "application/json":  {
                                                                                                                 "schema":  {
                                                                                                                                "$ref":  "#/components/schemas/ReturnInput"
                                                                                                                            }
                                                                                                             }
                                                                                    },
                                                                        "required":  true
                                                                    }
                                                }
                                   },
                  "/api/inspection":  {
                                          "post":  {
                                                       "summary":  "inspection",
                                                       "parameters":  [
                                                                          {
                                                                              "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                              "name":  "Idempotency-Key",
                                                                              "in":  "header",
                                                                              "schema":  {
                                                                                             "maxLength":  100,
                                                                                             "type":  "string"
                                                                                         },
                                                                              "required":  true
                                                                          }
                                                                      ],
                                                       "responses":  {
                                                                         "403":  {
                                                                                     "description":  "Role/CSRF denied"
                                                                                 },
                                                                         "401":  {
                                                                                     "description":  "Authentication required"
                                                                                 },
                                                                         "400":  {
                                                                                     "description":  "Invalid input or missing idempotency key"
                                                                                 },
                                                                         "404":  {
                                                                                     "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                 },
                                                                         "200":  {
                                                                                     "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                 },
                                                                         "409":  {
                                                                                     "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                 }
                                                                     },
                                                       "requestBody":  {
                                                                           "content":  {
                                                                                           "application/json":  {
                                                                                                                    "schema":  {
                                                                                                                                   "$ref":  "#/components/schemas/InspectInput"
                                                                                                                               }
                                                                                                                }
                                                                                       },
                                                                           "required":  true
                                                                       }
                                                   }
                                      },
                  "/api/transfers":  {
                                         "post":  {
                                                      "summary":  "transfers",
                                                      "parameters":  [
                                                                         {
                                                                             "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                             "name":  "Idempotency-Key",
                                                                             "in":  "header",
                                                                             "schema":  {
                                                                                            "maxLength":  100,
                                                                                            "type":  "string"
                                                                                        },
                                                                             "required":  true
                                                                         }
                                                                     ],
                                                      "responses":  {
                                                                        "403":  {
                                                                                    "description":  "Role/CSRF denied"
                                                                                },
                                                                        "401":  {
                                                                                    "description":  "Authentication required"
                                                                                },
                                                                        "400":  {
                                                                                    "description":  "Invalid input or missing idempotency key"
                                                                                },
                                                                        "404":  {
                                                                                    "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                },
                                                                        "200":  {
                                                                                    "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                },
                                                                        "409":  {
                                                                                    "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                }
                                                                    },
                                                      "requestBody":  {
                                                                          "content":  {
                                                                                          "application/json":  {
                                                                                                                   "schema":  {
                                                                                                                                  "$ref":  "#/components/schemas/TransferInput"
                                                                                                                              }
                                                                                                               }
                                                                                      },
                                                                          "required":  true
                                                                      }
                                                  }
                                     },
                  "/api/transfers/{id}/accept":  {
                                                     "post":  {
                                                                  "summary":  "transfers/{id}/accept",
                                                                  "parameters":  [
                                                                                     {
                                                                                         "name":  "id",
                                                                                         "in":  "path",
                                                                                         "schema":  {
                                                                                                        "type":  "integer",
                                                                                                        "format":  "int64"
                                                                                                    },
                                                                                         "required":  true
                                                                                     },
                                                                                     {
                                                                                         "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                         "name":  "Idempotency-Key",
                                                                                         "in":  "header",
                                                                                         "schema":  {
                                                                                                        "maxLength":  100,
                                                                                                        "type":  "string"
                                                                                                    },
                                                                                         "required":  true
                                                                                     }
                                                                                 ],
                                                                  "responses":  {
                                                                                    "403":  {
                                                                                                "description":  "Role/CSRF denied"
                                                                                            },
                                                                                    "401":  {
                                                                                                "description":  "Authentication required"
                                                                                            },
                                                                                    "400":  {
                                                                                                "description":  "Invalid input or missing idempotency key"
                                                                                            },
                                                                                    "404":  {
                                                                                                "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                            },
                                                                                    "200":  {
                                                                                                "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                            },
                                                                                    "409":  {
                                                                                                "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                            }
                                                                                }
                                                              }
                                                 },
                  "/api/counts":  {
                                      "post":  {
                                                   "summary":  "counts",
                                                   "parameters":  [
                                                                      {
                                                                          "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                          "name":  "Idempotency-Key",
                                                                          "in":  "header",
                                                                          "schema":  {
                                                                                         "maxLength":  100,
                                                                                         "type":  "string"
                                                                                     },
                                                                          "required":  true
                                                                      }
                                                                  ],
                                                   "responses":  {
                                                                     "403":  {
                                                                                 "description":  "Role/CSRF denied"
                                                                             },
                                                                     "401":  {
                                                                                 "description":  "Authentication required"
                                                                             },
                                                                     "400":  {
                                                                                 "description":  "Invalid input or missing idempotency key"
                                                                             },
                                                                     "404":  {
                                                                                 "description":  "Not found or outside allowed owner/warehouse scope"
                                                                             },
                                                                     "200":  {
                                                                                 "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                             },
                                                                     "409":  {
                                                                                 "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                             }
                                                                 },
                                                   "requestBody":  {
                                                                       "content":  {
                                                                                       "application/json":  {
                                                                                                                "schema":  {
                                                                                                                               "$ref":  "#/components/schemas/CountInput"
                                                                                                                           }
                                                                                                            }
                                                                                   },
                                                                       "required":  true
                                                                   }
                                               }
                                  },
                  "/api/counts/{id}/submit":  {
                                                  "post":  {
                                                               "summary":  "counts/{id}/submit",
                                                               "parameters":  [
                                                                                  {
                                                                                      "name":  "id",
                                                                                      "in":  "path",
                                                                                      "schema":  {
                                                                                                     "type":  "integer",
                                                                                                     "format":  "int64"
                                                                                                 },
                                                                                      "required":  true
                                                                                  },
                                                                                  {
                                                                                      "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                      "name":  "Idempotency-Key",
                                                                                      "in":  "header",
                                                                                      "schema":  {
                                                                                                     "maxLength":  100,
                                                                                                     "type":  "string"
                                                                                                 },
                                                                                      "required":  true
                                                                                  }
                                                                              ],
                                                               "responses":  {
                                                                                 "403":  {
                                                                                             "description":  "Role/CSRF denied"
                                                                                         },
                                                                                 "401":  {
                                                                                             "description":  "Authentication required"
                                                                                         },
                                                                                 "400":  {
                                                                                             "description":  "Invalid input or missing idempotency key"
                                                                                         },
                                                                                 "404":  {
                                                                                             "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                         },
                                                                                 "200":  {
                                                                                             "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                         },
                                                                                 "409":  {
                                                                                             "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                         }
                                                                             },
                                                               "requestBody":  {
                                                                                   "content":  {
                                                                                                   "application/json":  {
                                                                                                                            "schema":  {
                                                                                                                                           "$ref":  "#/components/schemas/CountResult"
                                                                                                                                       }
                                                                                                                        }
                                                                                               },
                                                                                   "required":  true
                                                                               }
                                                           }
                                              },
                  "/api/counts/{id}/approve":  {
                                                   "post":  {
                                                                "summary":  "counts/{id}/approve",
                                                                "parameters":  [
                                                                                   {
                                                                                       "name":  "id",
                                                                                       "in":  "path",
                                                                                       "schema":  {
                                                                                                      "type":  "integer",
                                                                                                      "format":  "int64"
                                                                                                  },
                                                                                       "required":  true
                                                                                   },
                                                                                   {
                                                                                       "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                       "name":  "Idempotency-Key",
                                                                                       "in":  "header",
                                                                                       "schema":  {
                                                                                                      "maxLength":  100,
                                                                                                      "type":  "string"
                                                                                                  },
                                                                                       "required":  true
                                                                                   }
                                                                               ],
                                                                "responses":  {
                                                                                  "403":  {
                                                                                              "description":  "Role/CSRF denied"
                                                                                          },
                                                                                  "401":  {
                                                                                              "description":  "Authentication required"
                                                                                          },
                                                                                  "400":  {
                                                                                              "description":  "Invalid input or missing idempotency key"
                                                                                          },
                                                                                  "404":  {
                                                                                              "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                          },
                                                                                  "200":  {
                                                                                              "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                          },
                                                                                  "409":  {
                                                                                              "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                          }
                                                                              },
                                                                "requestBody":  {
                                                                                    "content":  {
                                                                                                    "application/json":  {
                                                                                                                             "schema":  {
                                                                                                                                            "$ref":  "#/components/schemas/CountApproval"
                                                                                                                                        }
                                                                                                                         }
                                                                                                },
                                                                                    "required":  true
                                                                                }
                                                            }
                                               },
                  "/api/counts/{id}/cancel":  {
                                                  "post":  {
                                                               "summary":  "counts/{id}/cancel",
                                                               "parameters":  [
                                                                                  {
                                                                                      "name":  "id",
                                                                                      "in":  "path",
                                                                                      "schema":  {
                                                                                                     "type":  "integer",
                                                                                                     "format":  "int64"
                                                                                                 },
                                                                                      "required":  true
                                                                                  },
                                                                                  {
                                                                                      "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                      "name":  "Idempotency-Key",
                                                                                      "in":  "header",
                                                                                      "schema":  {
                                                                                                     "maxLength":  100,
                                                                                                     "type":  "string"
                                                                                                 },
                                                                                      "required":  true
                                                                                  }
                                                                              ],
                                                               "responses":  {
                                                                                 "403":  {
                                                                                             "description":  "Role/CSRF denied"
                                                                                         },
                                                                                 "401":  {
                                                                                             "description":  "Authentication required"
                                                                                         },
                                                                                 "400":  {
                                                                                             "description":  "Invalid input or missing idempotency key"
                                                                                         },
                                                                                 "404":  {
                                                                                             "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                         },
                                                                                 "200":  {
                                                                                             "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                         },
                                                                                 "409":  {
                                                                                             "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                         }
                                                                             },
                                                               "requestBody":  {
                                                                                   "content":  {
                                                                                                   "application/json":  {
                                                                                                                            "schema":  {
                                                                                                                                           "$ref":  "#/components/schemas/ReasonInput"
                                                                                                                                       }
                                                                                                                        }
                                                                                               },
                                                                                   "required":  true
                                                                               }
                                                           }
                                              },
                  "/api/documents/{id}/attachments":  {
                                                          "post":  {
                                                                       "summary":  "documents/{id}/attachments",
                                                                       "parameters":  [
                                                                                          {
                                                                                              "name":  "id",
                                                                                              "in":  "path",
                                                                                              "schema":  {
                                                                                                             "type":  "integer",
                                                                                                             "format":  "int64"
                                                                                                         },
                                                                                              "required":  true
                                                                                          },
                                                                                          {
                                                                                              "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                              "name":  "Idempotency-Key",
                                                                                              "in":  "header",
                                                                                              "schema":  {
                                                                                                             "maxLength":  100,
                                                                                                             "type":  "string"
                                                                                                         },
                                                                                              "required":  true
                                                                                          }
                                                                                      ],
                                                                       "responses":  {
                                                                                         "403":  {
                                                                                                     "description":  "Role/CSRF denied"
                                                                                                 },
                                                                                         "401":  {
                                                                                                     "description":  "Authentication required"
                                                                                                 },
                                                                                         "400":  {
                                                                                                     "description":  "Invalid input or missing idempotency key"
                                                                                                 },
                                                                                         "404":  {
                                                                                                     "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                                 },
                                                                                         "200":  {
                                                                                                     "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                                 },
                                                                                         "409":  {
                                                                                                     "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                                 }
                                                                                     },
                                                                       "requestBody":  {
                                                                                           "content":  {
                                                                                                           "application/json":  {
                                                                                                                                    "schema":  {
                                                                                                                                                   "$ref":  "#/components/schemas/AttachmentInput"
                                                                                                                                               }
                                                                                                                                }
                                                                                                       },
                                                                                           "required":  true
                                                                                       }
                                                                   }
                                                      },
                  "/api/admin/owners":  {
                                            "post":  {
                                                         "summary":  "admin/owners",
                                                         "parameters":  [
                                                                            {
                                                                                "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                "name":  "Idempotency-Key",
                                                                                "in":  "header",
                                                                                "schema":  {
                                                                                               "maxLength":  100,
                                                                                               "type":  "string"
                                                                                           },
                                                                                "required":  true
                                                                            }
                                                                        ],
                                                         "responses":  {
                                                                           "403":  {
                                                                                       "description":  "Role/CSRF denied"
                                                                                   },
                                                                           "401":  {
                                                                                       "description":  "Authentication required"
                                                                                   },
                                                                           "400":  {
                                                                                       "description":  "Invalid input or missing idempotency key"
                                                                                   },
                                                                           "404":  {
                                                                                       "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                   },
                                                                           "200":  {
                                                                                       "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                   },
                                                                           "409":  {
                                                                                       "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                   }
                                                                       },
                                                         "requestBody":  {
                                                                             "content":  {
                                                                                             "application/json":  {
                                                                                                                      "schema":  {
                                                                                                                                     "$ref":  "#/components/schemas/NameInput"
                                                                                                                                 }
                                                                                                                  }
                                                                                         },
                                                                             "required":  true
                                                                         }
                                                     }
                                        },
                  "/api/admin/warehouses":  {
                                                "post":  {
                                                             "summary":  "admin/warehouses",
                                                             "parameters":  [
                                                                                {
                                                                                    "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                    "name":  "Idempotency-Key",
                                                                                    "in":  "header",
                                                                                    "schema":  {
                                                                                                   "maxLength":  100,
                                                                                                   "type":  "string"
                                                                                               },
                                                                                    "required":  true
                                                                                }
                                                                            ],
                                                             "responses":  {
                                                                               "403":  {
                                                                                           "description":  "Role/CSRF denied"
                                                                                       },
                                                                               "401":  {
                                                                                           "description":  "Authentication required"
                                                                                       },
                                                                               "400":  {
                                                                                           "description":  "Invalid input or missing idempotency key"
                                                                                       },
                                                                               "404":  {
                                                                                           "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                       },
                                                                               "200":  {
                                                                                           "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                       },
                                                                               "409":  {
                                                                                           "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                       }
                                                                           },
                                                             "requestBody":  {
                                                                                 "content":  {
                                                                                                 "application/json":  {
                                                                                                                          "schema":  {
                                                                                                                                         "$ref":  "#/components/schemas/NameInput"
                                                                                                                                     }
                                                                                                                      }
                                                                                             },
                                                                                 "required":  true
                                                                             }
                                                         }
                                            },
                  "/api/admin/locations":  {
                                               "post":  {
                                                            "summary":  "admin/locations",
                                                            "parameters":  [
                                                                               {
                                                                                   "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                   "name":  "Idempotency-Key",
                                                                                   "in":  "header",
                                                                                   "schema":  {
                                                                                                  "maxLength":  100,
                                                                                                  "type":  "string"
                                                                                              },
                                                                                   "required":  true
                                                                               }
                                                                           ],
                                                            "responses":  {
                                                                              "403":  {
                                                                                          "description":  "Role/CSRF denied"
                                                                                      },
                                                                              "401":  {
                                                                                          "description":  "Authentication required"
                                                                                      },
                                                                              "400":  {
                                                                                          "description":  "Invalid input or missing idempotency key"
                                                                                      },
                                                                              "404":  {
                                                                                          "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                      },
                                                                              "200":  {
                                                                                          "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                      },
                                                                              "409":  {
                                                                                          "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                      }
                                                                          },
                                                            "requestBody":  {
                                                                                "content":  {
                                                                                                "application/json":  {
                                                                                                                         "schema":  {
                                                                                                                                        "$ref":  "#/components/schemas/LocationInput"
                                                                                                                                    }
                                                                                                                     }
                                                                                            },
                                                                                "required":  true
                                                                            }
                                                        }
                                           },
                  "/api/admin/owners/{id}/edit":  {
                                                      "post":  {
                                                                   "summary":  "admin/owners/{id}/edit",
                                                                   "parameters":  [
                                                                                      {
                                                                                          "name":  "id",
                                                                                          "in":  "path",
                                                                                          "schema":  {
                                                                                                         "type":  "integer",
                                                                                                         "format":  "int64"
                                                                                                     },
                                                                                          "required":  true
                                                                                      },
                                                                                      {
                                                                                          "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                          "name":  "Idempotency-Key",
                                                                                          "in":  "header",
                                                                                          "schema":  {
                                                                                                         "maxLength":  100,
                                                                                                         "type":  "string"
                                                                                                     },
                                                                                          "required":  true
                                                                                      }
                                                                                  ],
                                                                   "responses":  {
                                                                                     "403":  {
                                                                                                 "description":  "Role/CSRF denied"
                                                                                             },
                                                                                     "401":  {
                                                                                                 "description":  "Authentication required"
                                                                                             },
                                                                                     "400":  {
                                                                                                 "description":  "Invalid input or missing idempotency key"
                                                                                             },
                                                                                     "404":  {
                                                                                                 "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                             },
                                                                                     "200":  {
                                                                                                 "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                             },
                                                                                     "409":  {
                                                                                                 "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                             }
                                                                                 },
                                                                   "requestBody":  {
                                                                                       "content":  {
                                                                                                       "application/json":  {
                                                                                                                                "schema":  {
                                                                                                                                               "$ref":  "#/components/schemas/NameInput"
                                                                                                                                           }
                                                                                                                            }
                                                                                                   },
                                                                                       "required":  true
                                                                                   }
                                                               }
                                                  },
                  "/api/admin/warehouses/{id}/edit":  {
                                                          "post":  {
                                                                       "summary":  "admin/warehouses/{id}/edit",
                                                                       "parameters":  [
                                                                                          {
                                                                                              "name":  "id",
                                                                                              "in":  "path",
                                                                                              "schema":  {
                                                                                                             "type":  "integer",
                                                                                                             "format":  "int64"
                                                                                                         },
                                                                                              "required":  true
                                                                                          },
                                                                                          {
                                                                                              "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                              "name":  "Idempotency-Key",
                                                                                              "in":  "header",
                                                                                              "schema":  {
                                                                                                             "maxLength":  100,
                                                                                                             "type":  "string"
                                                                                                         },
                                                                                              "required":  true
                                                                                          }
                                                                                      ],
                                                                       "responses":  {
                                                                                         "403":  {
                                                                                                     "description":  "Role/CSRF denied"
                                                                                                 },
                                                                                         "401":  {
                                                                                                     "description":  "Authentication required"
                                                                                                 },
                                                                                         "400":  {
                                                                                                     "description":  "Invalid input or missing idempotency key"
                                                                                                 },
                                                                                         "404":  {
                                                                                                     "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                                 },
                                                                                         "200":  {
                                                                                                     "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                                 },
                                                                                         "409":  {
                                                                                                     "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                                 }
                                                                                     },
                                                                       "requestBody":  {
                                                                                           "content":  {
                                                                                                           "application/json":  {
                                                                                                                                    "schema":  {
                                                                                                                                                   "$ref":  "#/components/schemas/NameInput"
                                                                                                                                               }
                                                                                                                                }
                                                                                                       },
                                                                                           "required":  true
                                                                                       }
                                                                   }
                                                      },
                  "/api/admin/locations/{id}/edit":  {
                                                         "post":  {
                                                                      "summary":  "admin/locations/{id}/edit",
                                                                      "parameters":  [
                                                                                         {
                                                                                             "name":  "id",
                                                                                             "in":  "path",
                                                                                             "schema":  {
                                                                                                            "type":  "integer",
                                                                                                            "format":  "int64"
                                                                                                        },
                                                                                             "required":  true
                                                                                         },
                                                                                         {
                                                                                             "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                             "name":  "Idempotency-Key",
                                                                                             "in":  "header",
                                                                                             "schema":  {
                                                                                                            "maxLength":  100,
                                                                                                            "type":  "string"
                                                                                                        },
                                                                                             "required":  true
                                                                                         }
                                                                                     ],
                                                                      "responses":  {
                                                                                        "403":  {
                                                                                                    "description":  "Role/CSRF denied"
                                                                                                },
                                                                                        "401":  {
                                                                                                    "description":  "Authentication required"
                                                                                                },
                                                                                        "400":  {
                                                                                                    "description":  "Invalid input or missing idempotency key"
                                                                                                },
                                                                                        "404":  {
                                                                                                    "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                                },
                                                                                        "200":  {
                                                                                                    "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                                },
                                                                                        "409":  {
                                                                                                    "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                                }
                                                                                    },
                                                                      "requestBody":  {
                                                                                          "content":  {
                                                                                                          "application/json":  {
                                                                                                                                   "schema":  {
                                                                                                                                                  "$ref":  "#/components/schemas/LocationInput"
                                                                                                                                              }
                                                                                                                               }
                                                                                                      },
                                                                                          "required":  true
                                                                                      }
                                                                  }
                                                     },
                  "/api/admin/users":  {
                                           "post":  {
                                                        "summary":  "admin/users",
                                                        "parameters":  [
                                                                           {
                                                                               "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                               "name":  "Idempotency-Key",
                                                                               "in":  "header",
                                                                               "schema":  {
                                                                                              "maxLength":  100,
                                                                                              "type":  "string"
                                                                                          },
                                                                               "required":  true
                                                                           }
                                                                       ],
                                                        "responses":  {
                                                                          "403":  {
                                                                                      "description":  "Role/CSRF denied"
                                                                                  },
                                                                          "401":  {
                                                                                      "description":  "Authentication required"
                                                                                  },
                                                                          "400":  {
                                                                                      "description":  "Invalid input or missing idempotency key"
                                                                                  },
                                                                          "404":  {
                                                                                      "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                  },
                                                                          "200":  {
                                                                                      "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                  },
                                                                          "409":  {
                                                                                      "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                  }
                                                                      },
                                                        "requestBody":  {
                                                                            "content":  {
                                                                                            "application/json":  {
                                                                                                                     "schema":  {
                                                                                                                                    "$ref":  "#/components/schemas/UserInput"
                                                                                                                                }
                                                                                                                 }
                                                                                        },
                                                                            "required":  true
                                                                        }
                                                    },
                                           "get":  {
                                                       "summary":  "admin/users",
                                                       "parameters":  [

                                                                      ],
                                                       "responses":  {
                                                                         "403":  {
                                                                                     "description":  "Role/CSRF denied"
                                                                                 },
                                                                         "401":  {
                                                                                     "description":  "Authentication required"
                                                                                 },
                                                                         "400":  {
                                                                                     "description":  "Invalid input or missing idempotency key"
                                                                                 },
                                                                         "404":  {
                                                                                     "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                 },
                                                                         "200":  {
                                                                                     "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                 },
                                                                         "409":  {
                                                                                     "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                 }
                                                                     }
                                                   }
                                       },
                  "/api/admin/users/{id}/edit":  {
                                                     "post":  {
                                                                  "summary":  "admin/users/{id}/edit",
                                                                  "parameters":  [
                                                                                     {
                                                                                         "name":  "id",
                                                                                         "in":  "path",
                                                                                         "schema":  {
                                                                                                        "type":  "integer",
                                                                                                        "format":  "int64"
                                                                                                    },
                                                                                         "required":  true
                                                                                     },
                                                                                     {
                                                                                         "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                         "name":  "Idempotency-Key",
                                                                                         "in":  "header",
                                                                                         "schema":  {
                                                                                                        "maxLength":  100,
                                                                                                        "type":  "string"
                                                                                                    },
                                                                                         "required":  true
                                                                                     }
                                                                                 ],
                                                                  "responses":  {
                                                                                    "403":  {
                                                                                                "description":  "Role/CSRF denied"
                                                                                            },
                                                                                    "401":  {
                                                                                                "description":  "Authentication required"
                                                                                            },
                                                                                    "400":  {
                                                                                                "description":  "Invalid input or missing idempotency key"
                                                                                            },
                                                                                    "404":  {
                                                                                                "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                            },
                                                                                    "200":  {
                                                                                                "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                            },
                                                                                    "409":  {
                                                                                                "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                            }
                                                                                },
                                                                  "requestBody":  {
                                                                                      "content":  {
                                                                                                      "application/json":  {
                                                                                                                               "schema":  {
                                                                                                                                              "$ref":  "#/components/schemas/UserDetailsInput"
                                                                                                                                          }
                                                                                                                           }
                                                                                                  },
                                                                                      "required":  true
                                                                                  }
                                                              }
                                                 },
                  "/api/admin/mail":  {
                                          "get":  {
                                                      "summary":  "admin/mail",
                                                      "parameters":  [

                                                                     ],
                                                      "responses":  {
                                                                        "403":  {
                                                                                    "description":  "Role/CSRF denied"
                                                                                },
                                                                        "401":  {
                                                                                    "description":  "Authentication required"
                                                                                },
                                                                        "400":  {
                                                                                    "description":  "Invalid input or missing idempotency key"
                                                                                },
                                                                        "404":  {
                                                                                    "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                },
                                                                        "200":  {
                                                                                    "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                },
                                                                        "409":  {
                                                                                    "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                }
                                                                    }
                                                  },
                                          "post":  {
                                                       "summary":  "admin/mail",
                                                       "parameters":  [
                                                                          {
                                                                              "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                              "name":  "Idempotency-Key",
                                                                              "in":  "header",
                                                                              "schema":  {
                                                                                             "maxLength":  100,
                                                                                             "type":  "string"
                                                                                         },
                                                                              "required":  true
                                                                          }
                                                                      ],
                                                       "responses":  {
                                                                         "403":  {
                                                                                     "description":  "Role/CSRF denied"
                                                                                 },
                                                                         "401":  {
                                                                                     "description":  "Authentication required"
                                                                                 },
                                                                         "400":  {
                                                                                     "description":  "Invalid input or missing idempotency key"
                                                                                 },
                                                                         "404":  {
                                                                                     "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                 },
                                                                         "200":  {
                                                                                     "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                 },
                                                                         "409":  {
                                                                                     "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                 }
                                                                     },
                                                       "requestBody":  {
                                                                           "content":  {
                                                                                           "application/json":  {
                                                                                                                    "schema":  {
                                                                                                                                   "$ref":  "#/components/schemas/MailSettingsInput"
                                                                                                                               }
                                                                                                                }
                                                                                       },
                                                                           "required":  true
                                                                       }
                                                   }
                                      },
                  "/api/admin/mail/{id}/retry":  {
                                                     "post":  {
                                                                  "summary":  "admin/mail/{id}/retry",
                                                                  "parameters":  [
                                                                                     {
                                                                                         "name":  "id",
                                                                                         "in":  "path",
                                                                                         "schema":  {
                                                                                                        "type":  "integer",
                                                                                                        "format":  "int64"
                                                                                                    },
                                                                                         "required":  true
                                                                                     },
                                                                                     {
                                                                                         "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                         "name":  "Idempotency-Key",
                                                                                         "in":  "header",
                                                                                         "schema":  {
                                                                                                        "maxLength":  100,
                                                                                                        "type":  "string"
                                                                                                    },
                                                                                         "required":  true
                                                                                     }
                                                                                 ],
                                                                  "responses":  {
                                                                                    "403":  {
                                                                                                "description":  "Role/CSRF denied"
                                                                                            },
                                                                                    "401":  {
                                                                                                "description":  "Authentication required"
                                                                                            },
                                                                                    "400":  {
                                                                                                "description":  "Invalid input or missing idempotency key"
                                                                                            },
                                                                                    "404":  {
                                                                                                "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                            },
                                                                                    "200":  {
                                                                                                "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                            },
                                                                                    "409":  {
                                                                                                "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                            }
                                                                                }
                                                              }
                                                 },
                  "/api/admin/users/{id}/access":  {
                                                       "post":  {
                                                                    "summary":  "admin/users/{id}/access",
                                                                    "parameters":  [
                                                                                       {
                                                                                           "name":  "id",
                                                                                           "in":  "path",
                                                                                           "schema":  {
                                                                                                          "type":  "integer",
                                                                                                          "format":  "int64"
                                                                                                      },
                                                                                           "required":  true
                                                                                       },
                                                                                       {
                                                                                           "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                           "name":  "Idempotency-Key",
                                                                                           "in":  "header",
                                                                                           "schema":  {
                                                                                                          "maxLength":  100,
                                                                                                          "type":  "string"
                                                                                                      },
                                                                                           "required":  true
                                                                                       }
                                                                                   ],
                                                                    "responses":  {
                                                                                      "403":  {
                                                                                                  "description":  "Role/CSRF denied"
                                                                                              },
                                                                                      "401":  {
                                                                                                  "description":  "Authentication required"
                                                                                              },
                                                                                      "400":  {
                                                                                                  "description":  "Invalid input or missing idempotency key"
                                                                                              },
                                                                                      "404":  {
                                                                                                  "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                              },
                                                                                      "200":  {
                                                                                                  "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                              },
                                                                                      "409":  {
                                                                                                  "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                              }
                                                                                  },
                                                                    "requestBody":  {
                                                                                        "content":  {
                                                                                                        "application/json":  {
                                                                                                                                 "schema":  {
                                                                                                                                                "$ref":  "#/components/schemas/AccessInput"
                                                                                                                                            }
                                                                                                                             }
                                                                                                    },
                                                                                        "required":  true
                                                                                    }
                                                                }
                                                   },
                  "/api/admin/audit":  {
                                           "get":  {
                                                       "summary":  "admin/audit",
                                                       "parameters":  [

                                                                      ],
                                                       "responses":  {
                                                                         "403":  {
                                                                                     "description":  "Role/CSRF denied"
                                                                                 },
                                                                         "401":  {
                                                                                     "description":  "Authentication required"
                                                                                 },
                                                                         "400":  {
                                                                                     "description":  "Invalid input or missing idempotency key"
                                                                                 },
                                                                         "404":  {
                                                                                     "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                 },
                                                                         "200":  {
                                                                                     "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                 },
                                                                         "409":  {
                                                                                     "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                 }
                                                                     }
                                                   }
                                       },
                  "/api/admin/api-keys":  {
                                              "post":  {
                                                           "summary":  "admin/api-keys",
                                                           "parameters":  [
                                                                              {
                                                                                  "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                  "name":  "Idempotency-Key",
                                                                                  "in":  "header",
                                                                                  "schema":  {
                                                                                                 "maxLength":  100,
                                                                                                 "type":  "string"
                                                                                             },
                                                                                  "required":  true
                                                                              }
                                                                          ],
                                                           "responses":  {
                                                                             "403":  {
                                                                                         "description":  "Role/CSRF denied"
                                                                                     },
                                                                             "401":  {
                                                                                         "description":  "Authentication required"
                                                                                     },
                                                                             "400":  {
                                                                                         "description":  "Invalid input or missing idempotency key"
                                                                                     },
                                                                             "404":  {
                                                                                         "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                     },
                                                                             "200":  {
                                                                                         "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                     },
                                                                             "409":  {
                                                                                         "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                     }
                                                                         },
                                                           "requestBody":  {
                                                                               "content":  {
                                                                                               "application/json":  {
                                                                                                                        "schema":  {
                                                                                                                                       "$ref":  "#/components/schemas/KeyInput"
                                                                                                                                   }
                                                                                                                    }
                                                                                           },
                                                                               "required":  true
                                                                           }
                                                       },
                                              "get":  {
                                                          "summary":  "admin/api-keys",
                                                          "parameters":  [

                                                                         ],
                                                          "responses":  {
                                                                            "403":  {
                                                                                        "description":  "Role/CSRF denied"
                                                                                    },
                                                                            "401":  {
                                                                                        "description":  "Authentication required"
                                                                                    },
                                                                            "400":  {
                                                                                        "description":  "Invalid input or missing idempotency key"
                                                                                    },
                                                                            "404":  {
                                                                                        "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                    },
                                                                            "200":  {
                                                                                        "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                    },
                                                                            "409":  {
                                                                                        "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                    }
                                                                        }
                                                      }
                                          },
                  "/api/admin/api-keys/{id}/revoke":  {
                                                          "post":  {
                                                                       "summary":  "admin/api-keys/{id}/revoke",
                                                                       "parameters":  [
                                                                                          {
                                                                                              "name":  "id",
                                                                                              "in":  "path",
                                                                                              "schema":  {
                                                                                                             "type":  "integer",
                                                                                                             "format":  "int64"
                                                                                                         },
                                                                                              "required":  true
                                                                                          },
                                                                                          {
                                                                                              "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                              "name":  "Idempotency-Key",
                                                                                              "in":  "header",
                                                                                              "schema":  {
                                                                                                             "maxLength":  100,
                                                                                                             "type":  "string"
                                                                                                         },
                                                                                              "required":  true
                                                                                          }
                                                                                      ],
                                                                       "responses":  {
                                                                                         "403":  {
                                                                                                     "description":  "Role/CSRF denied"
                                                                                                 },
                                                                                         "401":  {
                                                                                                     "description":  "Authentication required"
                                                                                                 },
                                                                                         "400":  {
                                                                                                     "description":  "Invalid input or missing idempotency key"
                                                                                                 },
                                                                                         "404":  {
                                                                                                     "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                                 },
                                                                                         "200":  {
                                                                                                     "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                                 },
                                                                                         "409":  {
                                                                                                     "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                                 }
                                                                                     }
                                                                   }
                                                      },
                  "/api/admin/webhooks":  {
                                              "post":  {
                                                           "summary":  "admin/webhooks",
                                                           "parameters":  [
                                                                              {
                                                                                  "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                  "name":  "Idempotency-Key",
                                                                                  "in":  "header",
                                                                                  "schema":  {
                                                                                                 "maxLength":  100,
                                                                                                 "type":  "string"
                                                                                             },
                                                                                  "required":  true
                                                                              }
                                                                          ],
                                                           "responses":  {
                                                                             "403":  {
                                                                                         "description":  "Role/CSRF denied"
                                                                                     },
                                                                             "401":  {
                                                                                         "description":  "Authentication required"
                                                                                     },
                                                                             "400":  {
                                                                                         "description":  "Invalid input or missing idempotency key"
                                                                                     },
                                                                             "404":  {
                                                                                         "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                     },
                                                                             "200":  {
                                                                                         "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                     },
                                                                             "409":  {
                                                                                         "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                     }
                                                                         },
                                                           "requestBody":  {
                                                                               "content":  {
                                                                                               "application/json":  {
                                                                                                                        "schema":  {
                                                                                                                                       "$ref":  "#/components/schemas/WebhookInput"
                                                                                                                                   }
                                                                                                                    }
                                                                                           },
                                                                               "required":  true
                                                                           }
                                                       },
                                              "get":  {
                                                          "summary":  "admin/webhooks",
                                                          "parameters":  [

                                                                         ],
                                                          "responses":  {
                                                                            "403":  {
                                                                                        "description":  "Role/CSRF denied"
                                                                                    },
                                                                            "401":  {
                                                                                        "description":  "Authentication required"
                                                                                    },
                                                                            "400":  {
                                                                                        "description":  "Invalid input or missing idempotency key"
                                                                                    },
                                                                            "404":  {
                                                                                        "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                    },
                                                                            "200":  {
                                                                                        "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                    },
                                                                            "409":  {
                                                                                        "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                    }
                                                                        }
                                                      }
                                          },
                  "/api/admin/webhooks/{id}/disable":  {
                                                           "post":  {
                                                                        "summary":  "admin/webhooks/{id}/disable",
                                                                        "parameters":  [
                                                                                           {
                                                                                               "name":  "id",
                                                                                               "in":  "path",
                                                                                               "schema":  {
                                                                                                              "type":  "integer",
                                                                                                              "format":  "int64"
                                                                                                          },
                                                                                               "required":  true
                                                                                           },
                                                                                           {
                                                                                               "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                               "name":  "Idempotency-Key",
                                                                                               "in":  "header",
                                                                                               "schema":  {
                                                                                                              "maxLength":  100,
                                                                                                              "type":  "string"
                                                                                                          },
                                                                                               "required":  true
                                                                                           }
                                                                                       ],
                                                                        "responses":  {
                                                                                          "403":  {
                                                                                                      "description":  "Role/CSRF denied"
                                                                                                  },
                                                                                          "401":  {
                                                                                                      "description":  "Authentication required"
                                                                                                  },
                                                                                          "400":  {
                                                                                                      "description":  "Invalid input or missing idempotency key"
                                                                                                  },
                                                                                          "404":  {
                                                                                                      "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                                  },
                                                                                          "200":  {
                                                                                                      "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                                  },
                                                                                          "409":  {
                                                                                                      "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                                  }
                                                                                      }
                                                                    }
                                                       },
                  "/api/admin/deliveries/{id}/retry":  {
                                                           "post":  {
                                                                        "summary":  "admin/deliveries/{id}/retry",
                                                                        "parameters":  [
                                                                                           {
                                                                                               "name":  "id",
                                                                                               "in":  "path",
                                                                                               "schema":  {
                                                                                                              "type":  "integer",
                                                                                                              "format":  "int64"
                                                                                                          },
                                                                                               "required":  true
                                                                                           },
                                                                                           {
                                                                                               "description":  "Unique operation key; retry the identical body with the SAME key.",
                                                                                               "name":  "Idempotency-Key",
                                                                                               "in":  "header",
                                                                                               "schema":  {
                                                                                                              "maxLength":  100,
                                                                                                              "type":  "string"
                                                                                                          },
                                                                                               "required":  true
                                                                                           }
                                                                                       ],
                                                                        "responses":  {
                                                                                          "403":  {
                                                                                                      "description":  "Role/CSRF denied"
                                                                                                  },
                                                                                          "401":  {
                                                                                                      "description":  "Authentication required"
                                                                                                  },
                                                                                          "400":  {
                                                                                                      "description":  "Invalid input or missing idempotency key"
                                                                                                  },
                                                                                          "404":  {
                                                                                                      "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                                  },
                                                                                          "200":  {
                                                                                                      "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                                  },
                                                                                          "409":  {
                                                                                                      "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                                  }
                                                                                      }
                                                                    }
                                                       },
                  "/api/integrations/linet/mock/{id}":  {
                                                            "get":  {
                                                                        "summary":  "integrations/linet/mock/{id}",
                                                                        "parameters":  [
                                                                                           {
                                                                                               "name":  "id",
                                                                                               "in":  "path",
                                                                                               "schema":  {
                                                                                                              "type":  "integer",
                                                                                                              "format":  "int64"
                                                                                                          },
                                                                                               "required":  true
                                                                                           }
                                                                                       ],
                                                                        "responses":  {
                                                                                          "403":  {
                                                                                                      "description":  "Role/CSRF denied"
                                                                                                  },
                                                                                          "401":  {
                                                                                                      "description":  "Authentication required"
                                                                                                  },
                                                                                          "400":  {
                                                                                                      "description":  "Invalid input or missing idempotency key"
                                                                                                  },
                                                                                          "404":  {
                                                                                                      "description":  "Not found or outside allowed owner/warehouse scope"
                                                                                                  },
                                                                                          "200":  {
                                                                                                      "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                                                  },
                                                                                          "409":  {
                                                                                                      "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                                                  }
                                                                                      }
                                                                    }
                                                        },
                  "/api/openapi":  {
                                       "get":  {
                                                   "summary":  "openapi",
                                                   "parameters":  [

                                                                  ],
                                                   "responses":  {
                                                                     "403":  {
                                                                                 "description":  "Role/CSRF denied"
                                                                             },
                                                                     "401":  {
                                                                                 "description":  "Authentication required"
                                                                             },
                                                                     "400":  {
                                                                                 "description":  "Invalid input or missing idempotency key"
                                                                             },
                                                                     "404":  {
                                                                                 "description":  "Not found or outside allowed owner/warehouse scope"
                                                                             },
                                                                     "200":  {
                                                                                 "description":  "Success; JSON object/list, authenticated download or printable HTML depending on endpoint"
                                                                             },
                                                                     "409":  {
                                                                                 "description":  "Stock/state/serial/idempotency/concurrency conflict; transaction rolled back"
                                                                             }
                                                                 }
                                               }
                                   }
              },
    "components":  {
                       "securitySchemes":  {
                                               "cookieAuth":  {
                                                                  "name":  "wms.session",
                                                                  "in":  "cookie",
                                                                  "type":  "apiKey"
                                                              },
                                               "bearerAuth":  {
                                                                  "scheme":  "bearer",
                                                                  "type":  "http"
                                                              }
                                           },
                       "schemas":  {
                                       "ProductInput":  {
                                                            "type":  "object",
                                                            "properties":  {
                                                                               "ownerId":  {
                                                                                               "type":  "integer",
                                                                                               "format":  "int64"
                                                                                           },
                                                                               "sku":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                               "name":  {
                                                                                            "type":  "string"
                                                                                        },
                                                                               "manufacturerSku":  {
                                                                                                       "type":  "string"
                                                                                                   },
                                                                               "serialRequired":  {
                                                                                                      "type":  "boolean"
                                                                                                  },
                                                                               "barcodes":  {
                                                                                                "type":  "array",
                                                                                                "items":  {
                                                                                                              "type":  "string"
                                                                                                          }
                                                                                            },
                                                                               "lowStock":  {
                                                                                                "type":  "integer",
                                                                                                "format":  "int64"
                                                                                            }
                                                                           },
                                                            "required":  [
                                                                             "ownerId",
                                                                             "sku",
                                                                             "name",
                                                                             "manufacturerSku",
                                                                             "serialRequired",
                                                                             "barcodes"
                                                                         ]
                                                        },
                                       "LineInput":  {
                                                         "type":  "object",
                                                         "properties":  {
                                                                            "productId":  {
                                                                                              "type":  "integer",
                                                                                              "format":  "int64"
                                                                                          },
                                                                            "quantity":  {
                                                                                             "type":  "integer",
                                                                                             "format":  "int64"
                                                                                         }
                                                                        },
                                                         "required":  [
                                                                          "productId",
                                                                          "quantity"
                                                                      ]
                                                     },
                                       "ReservationResult":  {
                                                                 "type":  "object",
                                                                 "properties":  {
                                                                                    "id":  {
                                                                                               "type":  "integer",
                                                                                               "format":  "int64"
                                                                                           },
                                                                                    "status":  {
                                                                                                   "type":  "string"
                                                                                               },
                                                                                    "allocated":  {
                                                                                                      "type":  "integer",
                                                                                                      "format":  "int64"
                                                                                                  },
                                                                                    "reserved":  {
                                                                                                     "type":  "integer",
                                                                                                     "format":  "int64"
                                                                                                 },
                                                                                    "missing":  {
                                                                                                    "type":  "integer",
                                                                                                    "format":  "int64"
                                                                                                },
                                                                                    "emailStatus":  {
                                                                                                        "type":  "string"
                                                                                                    }
                                                                                },
                                                                 "required":  [
                                                                                  "id",
                                                                                  "status",
                                                                                  "allocated",
                                                                                  "reserved",
                                                                                  "missing"
                                                                              ]
                                                             },
                                       "WarehouseMailInput":  {
                                                                  "type":  "object",
                                                                  "properties":  {
                                                                                     "warehouseId":  {
                                                                                                         "type":  "integer",
                                                                                                         "format":  "int64"
                                                                                                     },
                                                                                     "address":  {
                                                                                                     "type":  "string"
                                                                                                 }
                                                                                 },
                                                                  "required":  [
                                                                                   "warehouseId",
                                                                                   "address"
                                                                               ]
                                                              },
                                       "UserDetailsInput":  {
                                                                "type":  "object",
                                                                "properties":  {
                                                                                   "name":  {
                                                                                                "type":  "string"
                                                                                            },
                                                                                   "email":  {
                                                                                                 "type":  "string"
                                                                                             },
                                                                                   "password":  {
                                                                                                    "type":  "string"
                                                                                                }
                                                                               },
                                                                "required":  [
                                                                                 "name",
                                                                                 "email"
                                                                             ]
                                                            },
                                       "MailSettingsInput":  {
                                                                 "type":  "object",
                                                                 "properties":  {
                                                                                    "enabled":  {
                                                                                                    "type":  "boolean"
                                                                                                },
                                                                                    "host":  {
                                                                                                 "type":  "string"
                                                                                             },
                                                                                    "port":  {
                                                                                                 "type":  "integer",
                                                                                                 "format":  "int64"
                                                                                             },
                                                                                    "username":  {
                                                                                                     "type":  "string"
                                                                                                 },
                                                                                    "password":  {
                                                                                                     "type":  "string"
                                                                                                 },
                                                                                    "fromAddress":  {
                                                                                                        "type":  "string"
                                                                                                    },
                                                                                    "fromName":  {
                                                                                                     "type":  "string"
                                                                                                 },
                                                                                    "warehouses":  {
                                                                                                       "type":  "array",
                                                                                                       "items":  {
                                                                                                                     "$ref":  "#/components/schemas/WarehouseMailInput"
                                                                                                                 }
                                                                                                   }
                                                                                },
                                                                 "required":  [
                                                                                  "enabled",
                                                                                  "host",
                                                                                  "port",
                                                                                  "username",
                                                                                  "password",
                                                                                  "fromAddress",
                                                                                  "fromName",
                                                                                  "warehouses"
                                                                              ]
                                                             },
                                       "DocumentInput":  {
                                                             "type":  "object",
                                                             "properties":  {
                                                                                "ownerId":  {
                                                                                                "type":  "integer",
                                                                                                "format":  "int64"
                                                                                            },
                                                                                "warehouseId":  {
                                                                                                    "type":  "integer",
                                                                                                    "format":  "int64"
                                                                                                },
                                                                                "lines":  {
                                                                                              "type":  "array",
                                                                                              "items":  {
                                                                                                            "$ref":  "#/components/schemas/LineInput"
                                                                                                        }
                                                                                          },
                                                                                "externalNo":  {
                                                                                                   "type":  "string"
                                                                                               },
                                                                                "customer":  {
                                                                                                 "type":  "string"
                                                                                             },
                                                                                "delivery":  {
                                                                                                 "type":  "string"
                                                                                             },
                                                                                "notes":  {
                                                                                              "type":  "string"
                                                                                          }
                                                                            },
                                                             "required":  [
                                                                              "ownerId",
                                                                              "warehouseId",
                                                                              "lines"
                                                                          ]
                                                         },
                                       "ReceivedLine":  {
                                                            "type":  "object",
                                                            "properties":  {
                                                                               "lineId":  {
                                                                                              "type":  "integer",
                                                                                              "format":  "int64"
                                                                                          },
                                                                               "locationId":  {
                                                                                                  "type":  "integer",
                                                                                                  "format":  "int64"
                                                                                              },
                                                                               "quantity":  {
                                                                                                "type":  "integer",
                                                                                                "format":  "int64"
                                                                                            },
                                                                               "damaged":  {
                                                                                               "type":  "integer",
                                                                                               "format":  "int64"
                                                                                           },
                                                                               "serials":  {
                                                                                               "type":  "array",
                                                                                               "items":  {
                                                                                                             "type":  "string"
                                                                                                         }
                                                                                           }
                                                                           },
                                                            "required":  [
                                                                             "lineId",
                                                                             "locationId",
                                                                             "quantity",
                                                                             "damaged",
                                                                             "serials"
                                                                         ]
                                                        },
                                       "ReceiptInput":  {
                                                            "type":  "object",
                                                            "properties":  {
                                                                               "lines":  {
                                                                                             "type":  "array",
                                                                                             "items":  {
                                                                                                           "$ref":  "#/components/schemas/ReceivedLine"
                                                                                                       }
                                                                                         },
                                                                               "reason":  {
                                                                                              "type":  "string"
                                                                                          }
                                                                           },
                                                            "required":  [
                                                                             "lines"
                                                                         ]
                                                        },
                                       "ReserveInput":  {
                                                            "type":  "object",
                                                            "properties":  {
                                                                               "lineId":  {
                                                                                              "type":  "integer",
                                                                                              "format":  "int64",
                                                                                              "nullable":  true
                                                                                          },
                                                                               "quantity":  {
                                                                                                "type":  "integer",
                                                                                                "format":  "int64",
                                                                                                "nullable":  true
                                                                                            }
                                                                           },
                                                            "required":  [

                                                                         ]
                                                        },
                                       "PickInput":  {
                                                         "type":  "object",
                                                         "properties":  {
                                                                            "lineId":  {
                                                                                           "type":  "integer",
                                                                                           "format":  "int64"
                                                                                       },
                                                                            "locationId":  {
                                                                                               "type":  "integer",
                                                                                               "format":  "int64"
                                                                                           },
                                                                            "scan":  {
                                                                                         "type":  "string"
                                                                                     },
                                                                            "quantity":  {
                                                                                             "type":  "integer",
                                                                                             "format":  "int64"
                                                                                         },
                                                                            "unitIds":  {
                                                                                            "type":  "array",
                                                                                            "items":  {
                                                                                                          "type":  "integer",
                                                                                                          "format":  "int64"
                                                                                                      },
                                                                                            "nullable":  true
                                                                                        }
                                                                        },
                                                         "required":  [
                                                                          "lineId",
                                                                          "locationId",
                                                                          "scan"
                                                                      ]
                                                     },
                                       "DispatchInput":  {
                                                             "type":  "object",
                                                             "properties":  {
                                                                                "unitIds":  {
                                                                                                "type":  "array",
                                                                                                "items":  {
                                                                                                              "type":  "integer",
                                                                                                              "format":  "int64"
                                                                                                          }
                                                                                            },
                                                                                "receiver":  {
                                                                                                 "type":  "string"
                                                                                             },
                                                                                "notes":  {
                                                                                              "type":  "string"
                                                                                          },
                                                                                "proof":  {
                                                                                              "$ref":  "#/components/schemas/AttachmentInput",
                                                                                              "nullable":  true
                                                                                          }
                                                                            },
                                                             "required":  [
                                                                              "unitIds",
                                                                              "receiver"
                                                                          ]
                                                         },
                                       "ReturnInput":  {
                                                           "type":  "object",
                                                           "properties":  {
                                                                              "shipmentId":  {
                                                                                                 "type":  "integer",
                                                                                                 "format":  "int64"
                                                                                             },
                                                                              "unitIds":  {
                                                                                              "type":  "array",
                                                                                              "items":  {
                                                                                                            "type":  "integer",
                                                                                                            "format":  "int64"
                                                                                                        }
                                                                                          },
                                                                              "locationId":  {
                                                                                                 "type":  "integer",
                                                                                                 "format":  "int64"
                                                                                             },
                                                                              "reason":  {
                                                                                             "type":  "string"
                                                                                         }
                                                                          },
                                                           "required":  [
                                                                            "shipmentId",
                                                                            "unitIds",
                                                                            "locationId",
                                                                            "reason"
                                                                        ]
                                                       },
                                       "TransferInput":  {
                                                             "type":  "object",
                                                             "properties":  {
                                                                                "ownerId":  {
                                                                                                "type":  "integer",
                                                                                                "format":  "int64"
                                                                                            },
                                                                                "unitIds":  {
                                                                                                "type":  "array",
                                                                                                "items":  {
                                                                                                              "type":  "integer",
                                                                                                              "format":  "int64"
                                                                                                          }
                                                                                            },
                                                                                "destinationId":  {
                                                                                                      "type":  "integer",
                                                                                                      "format":  "int64"
                                                                                                  },
                                                                                "inTransit":  {
                                                                                                  "type":  "boolean"
                                                                                              },
                                                                                "reason":  {
                                                                                               "type":  "string"
                                                                                           }
                                                                            },
                                                             "required":  [
                                                                              "ownerId",
                                                                              "unitIds",
                                                                              "destinationId",
                                                                              "inTransit",
                                                                              "reason"
                                                                          ]
                                                         },
                                       "CountInput":  {
                                                          "type":  "object",
                                                          "properties":  {
                                                                             "ownerId":  {
                                                                                             "type":  "integer",
                                                                                             "format":  "int64"
                                                                                         },
                                                                             "warehouseId":  {
                                                                                                 "type":  "integer",
                                                                                                 "format":  "int64"
                                                                                             },
                                                                             "locationId":  {
                                                                                                "type":  "integer",
                                                                                                "format":  "int64",
                                                                                                "nullable":  true
                                                                                            }
                                                                         },
                                                          "required":  [
                                                                           "ownerId",
                                                                           "warehouseId"
                                                                       ]
                                                      },
                                       "CountLine":  {
                                                         "type":  "object",
                                                         "properties":  {
                                                                            "productId":  {
                                                                                              "type":  "integer",
                                                                                              "format":  "int64"
                                                                                          },
                                                                            "quantity":  {
                                                                                             "type":  "integer",
                                                                                             "format":  "int64"
                                                                                         },
                                                                            "serials":  {
                                                                                            "type":  "array",
                                                                                            "items":  {
                                                                                                          "type":  "string"
                                                                                                      }
                                                                                        }
                                                                        },
                                                         "required":  [
                                                                          "productId",
                                                                          "quantity",
                                                                          "serials"
                                                                      ]
                                                     },
                                       "CountResult":  {
                                                           "type":  "object",
                                                           "properties":  {
                                                                              "lines":  {
                                                                                            "type":  "array",
                                                                                            "items":  {
                                                                                                          "$ref":  "#/components/schemas/CountLine"
                                                                                                      }
                                                                                        },
                                                                              "reason":  {
                                                                                             "type":  "string"
                                                                                         }
                                                                          },
                                                           "required":  [
                                                                            "lines",
                                                                            "reason"
                                                                        ]
                                                       },
                                       "InspectInput":  {
                                                            "type":  "object",
                                                            "properties":  {
                                                                               "unitIds":  {
                                                                                               "type":  "array",
                                                                                               "items":  {
                                                                                                             "type":  "integer",
                                                                                                             "format":  "int64"
                                                                                                         }
                                                                                           },
                                                                               "release":  {
                                                                                               "type":  "boolean"
                                                                                           },
                                                                               "reason":  {
                                                                                              "type":  "string"
                                                                                          }
                                                                           },
                                                            "required":  [
                                                                             "unitIds",
                                                                             "release",
                                                                             "reason"
                                                                         ]
                                                        },
                                       "UserInput":  {
                                                         "type":  "object",
                                                         "properties":  {
                                                                            "email":  {
                                                                                          "type":  "string"
                                                                                      },
                                                                            "name":  {
                                                                                         "type":  "string"
                                                                                     },
                                                                            "password":  {
                                                                                             "type":  "string"
                                                                                         },
                                                                            "role":  {
                                                                                         "type":  "string"
                                                                                     },
                                                                            "ownerId":  {
                                                                                            "type":  "integer",
                                                                                            "format":  "int64",
                                                                                            "nullable":  true
                                                                                        },
                                                                            "warehouseIds":  {
                                                                                                 "type":  "array",
                                                                                                 "items":  {
                                                                                                               "type":  "integer",
                                                                                                               "format":  "int64"
                                                                                                           }
                                                                                             },
                                                                            "permissions":  {
                                                                                                "type":  "array",
                                                                                                "items":  {
                                                                                                              "type":  "string"
                                                                                                          }
                                                                                            }
                                                                        },
                                                         "required":  [
                                                                          "email",
                                                                          "name",
                                                                          "password",
                                                                          "role",
                                                                          "warehouseIds",
                                                                          "permissions"
                                                                      ]
                                                     },
                                       "ReasonInput":  {
                                                           "type":  "object",
                                                           "properties":  {
                                                                              "reason":  {
                                                                                             "type":  "string"
                                                                                         }
                                                                          },
                                                           "required":  [
                                                                            "reason"
                                                                        ]
                                                       },
                                       "AttachmentInput":  {
                                                               "type":  "object",
                                                               "properties":  {
                                                                                  "name":  {
                                                                                               "type":  "string"
                                                                                           },
                                                                                  "contentType":  {
                                                                                                      "type":  "string"
                                                                                                  },
                                                                                  "base64":  {
                                                                                                 "type":  "string"
                                                                                             }
                                                                              },
                                                               "required":  [
                                                                                "name",
                                                                                "contentType",
                                                                                "base64"
                                                                            ]
                                                           },
                                       "LoginInput":  {
                                                          "type":  "object",
                                                          "properties":  {
                                                                             "email":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                             "password":  {
                                                                                              "type":  "string"
                                                                                          }
                                                                         },
                                                          "required":  [
                                                                           "email",
                                                                           "password"
                                                                       ]
                                                      },
                                       "NameInput":  {
                                                         "type":  "object",
                                                         "properties":  {
                                                                            "name":  {
                                                                                         "type":  "string"
                                                                                     }
                                                                        },
                                                         "required":  [
                                                                          "name"
                                                                      ]
                                                     },
                                       "LocationInput":  {
                                                             "type":  "object",
                                                             "properties":  {
                                                                                "warehouseId":  {
                                                                                                    "type":  "integer",
                                                                                                    "format":  "int64"
                                                                                                },
                                                                                "zone":  {
                                                                                             "type":  "string"
                                                                                         },
                                                                                "shelf":  {
                                                                                              "type":  "string"
                                                                                          },
                                                                                "bin":  {
                                                                                            "type":  "string"
                                                                                        }
                                                                            },
                                                             "required":  [
                                                                              "warehouseId",
                                                                              "zone",
                                                                              "shelf",
                                                                              "bin"
                                                                          ]
                                                         },
                                       "CountApproval":  {
                                                             "type":  "object",
                                                             "properties":  {
                                                                                "reason":  {
                                                                                               "type":  "string"
                                                                                           },
                                                                                "locationId":  {
                                                                                                   "type":  "integer",
                                                                                                   "format":  "int64",
                                                                                                   "nullable":  true
                                                                                               }
                                                                            },
                                                             "required":  [
                                                                              "reason"
                                                                          ]
                                                         },
                                       "AccessInput":  {
                                                           "type":  "object",
                                                           "properties":  {
                                                                              "active":  {
                                                                                             "type":  "boolean"
                                                                                         },
                                                                              "warehouseIds":  {
                                                                                                   "type":  "array",
                                                                                                   "items":  {
                                                                                                                 "type":  "integer",
                                                                                                                 "format":  "int64"
                                                                                                             }
                                                                                               },
                                                                              "permissions":  {
                                                                                                  "type":  "array",
                                                                                                  "items":  {
                                                                                                                "type":  "string"
                                                                                                            }
                                                                                              }
                                                                          },
                                                           "required":  [
                                                                            "active",
                                                                            "warehouseIds",
                                                                            "permissions"
                                                                        ]
                                                       },
                                       "KeyInput":  {
                                                        "type":  "object",
                                                        "properties":  {
                                                                           "ownerId":  {
                                                                                           "type":  "integer",
                                                                                           "format":  "int64"
                                                                                       },
                                                                           "name":  {
                                                                                        "type":  "string"
                                                                                    },
                                                                           "token":  {
                                                                                         "type":  "string"
                                                                                     }
                                                                       },
                                                        "required":  [
                                                                         "ownerId",
                                                                         "name",
                                                                         "token"
                                                                     ]
                                                    },
                                       "WebhookInput":  {
                                                            "type":  "object",
                                                            "properties":  {
                                                                               "ownerId":  {
                                                                                               "type":  "integer",
                                                                                               "format":  "int64"
                                                                                           },
                                                                               "url":  {
                                                                                           "type":  "string"
                                                                                       },
                                                                               "secret":  {
                                                                                              "type":  "string"
                                                                                          }
                                                                           },
                                                            "required":  [
                                                                             "ownerId",
                                                                             "url",
                                                                             "secret"
                                                                         ]
                                                        }
                                   }
                   }
}