{
  "openapi": "3.0.0",
  "info": {
    "title": "Optimize my plant collection - SaaS",
    "version": "1.0.0"
  },
  "servers":[
    {
      "url": "https://cloud.us1.sws.siemens.com/api/optimizemyplantapi/v1/omp",
      "description": "Production Optimize my plant API Server in the US East region"
    },
    {
      "url": "https://cloud.eu1.sws.siemens.com/api/optimizemyplantapi/v1/omp",
      "description": "Production Optimize my plant API Server in the Europe Central region"
    },
    {
      "url": "https://cloud.ap1.sws.siemens.com/api/optimizemyplantapi/v1/omp",
      "description": "Production Optimize my plant API Server in the Asia-Pacific Northeast region"
    },
    {
      "url": "https://cloud.us1.sws.siemens.com/api/optimizemyplantapi-omppreprod/v1/omp",
      "description": "PreProduction Optimize my plant API Server in the US East region"
    }
  ],
  "paths": {
    "/oauth/token": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Get an access token",
        "description": "Use this endpoint to obtain an access token for authenticating API requests. The token can be used during a session and is valid for the time (in seconds) specified in expires_in from the result. After getting the token it's recommended to remember the current time, add the expires_in duration and only retrieve a new token if the current time is close to the expiration. The scope parameter in the result includes the OMP roles the server user has.",
        "servers":[
          {
            "url": "https://ompprod.us1.sws.siemens.com",
            "description": "Production API server for tokens in the US East region"
          },
          {
            "url": "https://ompprod.eu1.sws.siemens.com",
            "description": "Production API server for tokens in the EU Central region"
          },
          {
            "url": "https://ompprod.ap1.sws.siemens.com",
            "description": "Production API server for tokens in the Asia-Pacific Northeast region"
          },
          {
            "url": "https://omppreprod.us1.sws.siemens.com/oauth/token",
            "description": "PreProduction API server for tokens in the US East region"
          }
        ],
        "requestBody":{
          "content": {
            "application/x-www-form-urlencoded": {
              "schema":{
                "$ref": "#/components/schemas/AuthenticationPayload"
              },
              "example": {
                "client_id": "100123456-CSS-OMP-001A-1234565432100",
                "client_secret": "abcdefg ...",
                "grant_type": "client_credentials"
              }
            }
          }
        },
        "responses":{
          "200": {
            "description": "successful operation",
            "content": {
              "application/json":{
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationPayload"
                },
                "example": {
                  "access_token": "eye.... jksdjf",
                  "token_type": "Bearer",
                  "expires_in": 1799,
                  "scope": "optimizemyplant.simspec"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectid}/products": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Post Products",
        "description": "Post a list of products in Masterdata for the Project specified with the ProjectId path variable.\r\nProducts refer to product families, storage families and parameter definitions. These objects should exist before creating products.\r\nParameter definitions can not yet be created via an API. They need to be defined in Optimize my plant. \r\nBehavior if attribute/value pairs are missing: \r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n- if boolean is missing this will be initialized with False. If that's not wanted please set the value explicitly\r\nPost Products is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Products import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Products import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Products missing"
          }

        }
      },
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get Products",
        "description": "Get a list of products from Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Delete Products",
        "description": "Delete all products in Masterdata for the Project specified with the ProjectId path variable.\r\nDeleting products does not delete product families or storage families, but it deletes work orders (in Production Plan), that refer to this product.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Products delete started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Product delete started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectid}/products/productfamilies": {
      "post": {
        "tags": [
          "Product Families"
        ],
        "summary": "Post Productfamilies",
        "description": "Post a list of Productfamilies in Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductFamily"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Product families imported"
          },
          "400": {
            "description": "Product families missing"
          }
        }
      },
      "get": {
        "tags": [
          "Product Families"
        ],
        "summary": "Get Productfamilies",
        "description": "Get all productfamilies in masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Product Families"
        ],
        "summary": "Delete Productfamilies",
        "description": "Delete all productfamilies in the masterdata for the Project specified with the ProjectId path variable.\r\nDeleting productfamilies does not delete the corresponding products, only removes the reference to the productfamily.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation. Product families deleted"
          }
        }
      }
    },
    "/projects/{projectid}/products/parameters_reset": {
      "post": {
        "tags": [
          "Product Parameters"
        ],
        "summary": "Reset Product Parameters",
        "description": "Reset parameters back to default for all Products in masterdata for the Project specified with the ProjectId path variable.\r\nReset product parameters is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductParameter"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Product parameters reset import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Product parameter reset import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Product parameters missing"
          }
        }
      }
    },
    "/projects/{projectid}/products/parameters": {
      "post": {
        "tags": [
          "Product Parameters"
        ],
        "summary": "Post Product Parameters",
        "description": "Post list of product parameter changes for products in masterdata for the Project specified with the ProjectId path variable.\r\nPost Product Parameters is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductParameter"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Product parameters import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Product parameters import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Product parameters missing"
          }
        }
      },
      "get": {
        "tags": [
          "Product Parameters"
        ],
        "summary": "Get Product Parameters",
        "description": "Get parameter values for all product in masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      }
    },
    "/projects/{projectid}/products/productstructure": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Post Product Structure",
        "description": "Post a product structure in masterdata for the Project specified with the ProjectId path variable. The payload is a flat JSON, using Parent-Child relationships to describe the hierarchy. \r\nPost Product Structure is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductStructure"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Product Structure import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Product parameters import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Product structure missing"
          }
        }
      },
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get Product Structure",
        "description": "Get a product structure from masterdata for the Project specified with the ProjectId path variable. The result is a flat JSON, using Parent-Child relationships to describe the hierarchy.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Delete Product Structure",
        "description": "Delete a product structure in masterdata for the Project specified with the ProjectId path variable. \r\nDelete Product Structure is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Product structure delete started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Product parameters import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectid}/products/{productid}": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "Get one Product",
        "description": "Get product details for the product specified by ProductId and the ProjectId in the path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productid",
            "in": "path",
            "description": "ProductId of the Product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Product id missing"
          },
          "404": {
            "description": "Product not found"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Products"
        ],
        "summary": "Delete one Product",
        "description": "Delete the product specified by ProductId and the ProjectId in the path variable.\r\nDeleting a product does not delete product families or storage families, but it deletes work orders (in Production Plan), that refer to this product.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productid",
            "in": "path",
            "description": "ProductId of the Product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation. Product deleted"
          },
          "400": {
            "description": "Product id missing"
          },
          "404": {
            "description": "Product not found"
          }
        }
      },
      "put": {
        "tags": [
          "Products"
        ],
        "summary": "Put one Product",
        "description": "Update product details for the product specified by ProductId and the ProjectId in the path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productid",
            "in": "path",
            "description": "ProductId of the Product",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Product"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation. Product updated"
          },
          "400": {
            "description": "Product id missing"
          },
          "404": {
            "description": "Product not found"
          },
          "409": {
            "description": "Product id not unique"
          }

        }
      }
    },
    "/projects/{projectid}/products/productfamilies/{productfamilyid}": {
      "delete": {
        "tags": [
          "Product Families"
        ],
        "summary": "Delete one Productfamily",
        "description": "Delete the productfamiliy specified by ProductFamilyId and the ProjectId in the path variable.\r\nDeleting productfamilies does not delete the corresponding products, only removes the reference to the productfamily.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productfamilyid",
            "in": "path",
            "description": "ProductFamilyId of the product family",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation. Product family deleted"
          },
          "400": {
            "description": "Product family id missing"
          },
          "404": {
            "description": "Product family not found"
          }
        }
      }
    },
    "/projects": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Get Projects",
        "description": "Retrieve a list of all projects across all organizations.\r\n\r\nThe ProjectId from the result can be used in other API's to e.g. get and modify Masterdata for a selected project.\r\nAlternatively the ProjectId is shown in Optimize my plant if you edit a project.",
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      }
    },
    "/projects/{projectid}/scenarios": {
      "get": {
        "tags": [
          "Projects"
        ],
        "summary": "Get Scenarios",
        "description": "Retrieve a list of all scenarios for the Project specified with the ProjectId path variable.\r\n\r\nThe ScenarioId and ProjectId can be used in other API's to e.g. get simulation results for this scenario.\r\nThe ScenarioId is also shown in Optimize my plant if you edit the scenario.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      }
    },
    "/projects/{projectid}/productionplan/workorders": {
      "post": {
        "tags": [
          "Productionplan"
        ],
        "summary": "Post Workorders (Project)",
        "description": "Post a list of workorders on project level (not a scenario) for the Project specified with the ProjectId path variable.\r\nWorkorders refer to Products and Processes. These need to exist before the work order can be created.\r\nBehavior if attribute/value pairs are missing: \r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n- if boolean is missing this will be initialized with False. If that's not wanted please set the value explicitly",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkOrder"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Work order import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Work order import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Work orders missing"
          }
        }
      },
      "get": {
        "tags": [
          "Productionplan"
        ],
        "summary": "Get Workorders (Project)",
        "description": "Get a list of workorders on project level (not a scenario) for the Project specified with the ProjectId path variable.\r\n\r\nExample of result for Productionplan type = WorkOrders:\r\n```json\r\n[\r\n    {\r\n        \"OrderNumber\": \"O1\",\r\n        \"ProductId\": \"P1\",\r\n        \"ProcessId\": \"Proc1\",\r\n        \"StartDate\": \"2025-06-02T00:00:00.000Z\",\r\n        \"EndDate\": \"2025-06-03T00:00:00.000Z\",\r\n        \"LotSize\": 1,\r\n        \"BatchSize\": 1,\r\n        \"Status\": \"Planned\",\r\n        \"Priority\": 2\r\n    }\r\n]\r\n```\r\n\r\nExample of result for Productionplan type = ProductMix:\r\n```json\r\n[\r\n    {\r\n        \"OrderNumber\": \"O1\",\r\n        \"ProductId\": \"P1\",\r\n        \"ProcessId\": \"Proc1\",\r\n        \"BatchSize\": 1,\r\n        \"MixFrequency\": 45\r\n    }\r\n]\r\n```",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Productionplan"
        ],
        "summary": "Delete Workorders (Project)",
        "description": "Delete all workorders on project level (not a scenario) for the Project specified with the ProjectId path variable.\r\nDeleting a work order does not delete the corresponding product or process, but deleting a product/process will also delete all corresponding work orders.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/productionplan": {
      "get": {
        "tags": [
          "Productionplan"
        ],
        "summary": "Get Productionplan type (Project)",
        "description": "Retrieve the type of Productionplan that is currently used in the Project specified with the ProjectId path variable.\r\nThe actual production plan with the workorders needs to be retrieved with the Get Workorders API.\r\n\r\nExample Result:\r\n```json\r\n{\r\n    \"ProductionPlanType\": \"WorkOrders\"\r\n}\r\n```\r\n\r\nProductionPlanType can be:\r\n- WorkOrders\r\n- ProductMix",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "put": {
        "tags": [
          "Productionplan"
        ],
        "summary": "Put Productionplan type (Project)",
        "description": "Set the type of Productionplan that is currently used in the Project specified with the ProjectId path variable.\r\nThe actual production plan with the workorders needs to be posted with the Post Workorders API.\r\nAttention: Changing the type of productionplan will delete all workorders!",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductionPlan"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Production plan missing"
          }
        }
      }
    },
    "/projects/{projectid}/productionplan/workorders/{workorderid}": {
      "delete": {
        "tags": [
          "Productionplan"
        ],
        "summary": "Delete Workorder (Project)",
        "description": "Delete the workorder specified with the workorderid path variable (=OrderNumber) on project level (not a scenario) for the Project specified with the ProjectId path variable.\r\nDeleting a work order does not delete the corresponding product or process, but deleting a product/process will also delete all corresponding work orders.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workorderid",
            "in": "path",
            "description": "OrderNumber of the workorder",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "404": {
            "description": "Work order not found"
          }
        }
      }
    },
    "/projects/{projectid}/productionschedule": {
      "post": {
        "tags": [
          "Production Schedule"
        ],
        "summary": "Post production schedule (Project)",
        "description": "Post a list of production tasks on project level (not a scenario) for the Project specified with the ProjectId path variable.\r\nProduction tasks refer to Workorder, Operation, Equipment and Worker. If imported, these need to exist before the productiontask can be created.\r\n\r\nBehavior if attribute/value pairs are missing: \r\n- for datetime and time attributes, use this format: \"2024-08-29T10:00:00.000Z\"\r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n- if boolean is missing this will be initialized with False. If that's not wanted please set the value explicitly",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductionTask"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "get": {
        "tags": [
          "Production Schedule"
        ],
        "summary": "Get production schedule (Project)",
        "description": "Get a list of all production task in a production schedule from the Project specified with the ProjectId path variable.\r\n\r\nExample payload from JSON looks like \r\n\r\n    {\r\n        \"OrderId\": \"WO6\",\r\n        \"OperationId\": \"Ga2_20\",\r\n        \"EquipmentId\": \"S1\",\r\n        \"WorkerId\": \"Op2\",\r\n        \"TaskId\": \"PrtT:1\",\r\n        \"Name\": \"Part: PrtT:1 on: S1\",\r\n        \"Quantity\": 1,\r\n        \"SetupStartTime\": \"2024-04-08T06:00:00.000Z\",\r\n        \"ProductionStartTime\": \"2024-04-08T06:00:00.000Z\",\r\n        \"ProductionEndTime\": \"2024-04-08T07:13:20.000Z\",\r\n        \"Status\": \"Study\"\r\n    },",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "delete": {
        "tags": [
          "Production Schedule"
        ],
        "summary": "Delete production schedule (Project)",
        "description": "Delete all production tasks on project level (not a scenario) for the Project specified with the ProjectId path variable.\r\nDeleting a productiontask does not delete the corresponding work order, operation, equipment or worker, but deleting a work order will also delete all corresponding production tasks.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/productionschedule/scenario/{scenarioid}": {
      "get": {
        "tags": [
          "Production Schedule"
        ],
        "summary": "Get Production schedule (Scenario)",
        "description": "Get a list of all production task in a production schedule from Scenario level specified with the Scenarioid and corresponding ProjectId path variable.\r\nthe query parameter refers to the ScheduleType. You can either specify: \"input\" or \"output\", depending which one you want to get.\r\n\r\nExample payload from JSON looks like \r\n\r\n    {\r\n        \"OrderId\": \"WO6\",\r\n        \"OperationId\": \"Ga2_20\",\r\n        \"EquipmentId\": \"S1\",\r\n        \"WorkerId\": \"Op2\",\r\n        \"TaskId\": \"PrtT:1\",\r\n        \"Name\": \"Part: PrtT:1 on: S1\",\r\n        \"Quantity\": 1,\r\n        \"SetupStartTime\": \"2024-04-08T06:00:00.000Z\",\r\n        \"ProductionStartTime\": \"2024-04-08T06:00:00.000Z\",\r\n        \"ProductionEndTime\": \"2024-04-08T07:13:20.000Z\",\r\n        \"Status\": \"Study\"\r\n    }",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scenarioid",
            "in": "path",
            "description": "ScenarioId of the Scenario",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "ScheduleType",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "input",
                "output"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/deliveryplan/workorders": {
      "post": {
        "tags": [
          "Delivery plan"
        ],
        "summary": "Post Workorders (Project)",
        "description": "Post a list of deliveryplan workorders on project level (not a scenario) for the Project specified with the ProjectId path variable.\r\nWorkorders refer to Products and Processes. These need to exist before the work order can be created.\r\nBehavior if attribute/value pairs are missing: \r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n- if boolean is missing this will be initialized with False. If that's not wanted please set the value explicitly",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WorkOrder"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Work order import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Work order import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Work orders missing"
          }
        }
      },
      "get": {
        "tags": [
          "Delivery plan"
        ],
        "summary": "Get Workorders (Project)",
        "description": "Get a list of deliveryplan workorders on project level (not a scenario) for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      }
    },
    "/projects/{projectid}/deliveryplan": {
      "delete": {
        "tags": [
          "Delivery plan"
        ],
        "summary": "Delete Workorders (Project)",
        "description": "Delete all workorders from the deliveryplan for the project ProjectId.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delivery plan deleted"
          },
          "404": {
            "description": "Delivery plan not found"
          }
        }
      }
    },
    "/projects/{projectid}/deliveryplan/workorders/{workorderid}": {
      "delete": {
        "tags": [
          "Delivery plan"
        ],
        "summary": "Delete Workorder (Project)",
        "description": "Delete a specific workorder defined by the workorderId out of the Deliveryplan for the project.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "workorderid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delivery plan deleted"
          },
          "404": {
            "description": "Delivery plan not found"
          }
        }
      }
    },
    "/projects/{projectid}/processes": {
      "post": {
        "tags": [
          "Process"
        ],
        "summary": "Post Processes",
        "description": "Post a list of Processes including Operations in Masterdata for the Project specified with the ProjectId path variable.\r\nDifferent than for Products and ProductFamilies specifying a ProcessFamily in the Post Processes API automatically creates the ProcessFamily.\r\nBehavior if attribute/value pairs are missing: \r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n- if boolean is missing this will be initialized with False. If that's not wanted please set the value explicitly\r\nPost Processes is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Process"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Process import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Process import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Process list missing"
          }
        }
      },
      "get": {
        "tags": [
          "Process"
        ],
        "summary": "Get Processes",
        "description": "Get a list of processes including operations from Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Process"
        ],
        "summary": "Delete Processes",
        "description": "Delete all Processes and Operations from Masterdata for the Project specified with the ProjectId path variable.\r\nDeleting a process also deletes all work orders (Production Plan) that use this Process. \r\nDelete Processes is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Delete Process started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Product parameters import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectid}/processes/{processid}": {
      "get": {
        "tags": [
          "Process"
        ],
        "summary": "Get one Process",
        "description": "Get a specific process including operations from Masterdata for the Process specified with the ProcessId and ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the process",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Process Id missing"
          },
          "404": {
            "description": "Process not found"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Process"
        ],
        "summary": "Delete one Process",
        "description": "Delete one Process including operations from Masterdata specified with the ProcessId and ProjectId path variable.\r\nDeleting a process also deletes all work orders (Production Plan) that use this Process.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the process",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Process Id missing"
          },
          "404": {
            "description": "Process not found"
          }
        }
      },
      "put": {
        "tags": [
          "Process"
        ],
        "summary": "Put one Process",
        "description": "Update a specific process in Masterdata specified with the ProcessId and ProjectId path variable.\r\nUpdate will delete and replace all operations.\r\nBehavior if attribute/value pairs are missing: \r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n- if boolean is missing this will be initialized with False. If that's not wanted please set the value explicitly",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the process",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Process"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Process Id missing"
          },
          "404": {
            "description": "Process not found"
          }
        }
      }
    },
    "/projects/{projectid}/processes/{processid}/operation/{operationid}": {
      "get": {
        "tags": [
          "Operation"
        ],
        "summary": "Get one Operation",
        "description": "Get details of a operation from Masterdata for the operation specified with the OperationId, ProcessId and ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the Process",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "operationid",
            "in": "path",
            "description": "OperationId of the operation",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Process Id missing, operation id missing"
          },
          "404": {
            "description": "Operation not found"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Operation"
        ],
        "summary": "Delete one Operation",
        "description": "Delete one operation from Masterdata specified with the OperationId, ProcessId and ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the process",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "operationid",
            "in": "path",
            "description": "OperationId of the Operation",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Process Id missing, operation id missing"
          },
          "404": {
            "description": "Process not found, Operation not found"
          }
        }
      },
      "put": {
        "tags": [
          "Operation"
        ],
        "summary": "Put one Operation",
        "description": "Update a specific operation in Masterdata specified with the OperationId, ProcessId and ProjectId path variable.\r\nBehavior if attribute/value pairs are missing: \r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n- if boolean is missing this will be initialized with False. If that's not wanted please set the value explicitly",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the process",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "operationid",
            "in": "path",
            "description": "OperationId of the operation",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Operation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Process Id missing, operation id missing"
          },
          "404": {
            "description": "Process not found, Operation not found"
          }
        }
      }
    },
    "/projects/{projectid}/processes/{processid}/operation/{operationid}/timeparameters": {
      "post": {
        "tags": [
          "Operation Time Parameters"
        ],
        "summary": "Post Timeparameters per Operation",
        "description": "Set time parameters for the different types (processing, recovery, setup, cycle time) per operation including equipment and/or product specific setup times.\r\n- Processing Time: Processing_time\r\n- Recovery Time: RecoveryTime\r\n- Setup time: Startup_Time (attention - for historic reasons this parameter is called Startup_Time in the API, but sets the Setup time)\r\n- Cycle time: Cycle_Time",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the Process",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "operationid",
            "in": "path",
            "description": "OperationId of the operation",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TimeParameter"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Operation Time Parameters import started. Check the Management/Status API to check if the import was successful"
          },
          "400": {
            "description": "Processid missing"
          },
          "404": {
            "description": "Process not found, Operation not found"
          }
        }
      },
      "get": {
        "tags": [
          "Operation Time Parameters"
        ],
        "summary": "Get Timeparameters per operation",
        "description": "Get time parameters for the different types (processing, recovery, setup, cycle time) per operation including equipment and/or product specific setup times.\r\n- Processing Time: Processing_time\r\n- Recovery Time: RecoveryTime\r\n- Setup time: Startup_Time (attention - for historic reasons this parameter is called Startup_Time in the API, but sets the Setup time)\r\n- Cycle time: Cycle_Time",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the Process",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "operationid",
            "in": "path",
            "description": "OperationId of the operation",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Processid missing"
          },
          "404": {
            "description": "Process not found, Operation not found"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Operation Time Parameters"
        ],
        "summary": "Delete Timeparameters per operation",
        "description": "Delete time parameters for the different types (processing, recovery, setup, cycle time) per operation including equipment and/or product specific setup times. \r\nUsing a query parameter you can delete all or a selected type (e.g. only setup times).\r\n- Processing Time: Processing_time\r\n- Recovery Time: RecoveryTime\r\n- Setup time: Startup_Time (attention - for historic reasons this parameter is called Startup_Time in the API, but sets the Setup time)\r\n- Cycle time: Cycle_Time",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the Process",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "operationid",
            "in": "path",
            "description": "OperationId of the operation",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "TimeType",
            "in": "query",
            "description": "Time type that should be deleted. If omitted will delete all time parameters. Select Startup_Time for Setup Time",
            "schema": {
              "type": "string",
              "enum": [
                "Processing_time",
                "RecoveryTime",
                "Startup_Time",
                "Cycle_Time"
              ]              
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Time parameter(s) deleted"
          },
          "400": {
            "description": "Processid missing"
          },
          "404": {
            "description": "Process not found, Operation not found"
          }
        }
      },
      "put": {
        "tags": [
          "Operation Time Parameters"
        ],
        "summary": "Put Timeparameter",
        "description": "Update time parameters for the different types (processing, recovery, setup, cycle time) per operation including equipment and/or product specific setup times.\r\n- Processing Time: Processing_time\r\n- Recovery Time: RecoveryTime\r\n- Setup time: Startup_Time (attention - for historic reasons this parameter is called Startup_Time in the API, but sets the Setup time)\r\n- Cycle time: Cycle_Time",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "processid",
            "in": "path",
            "description": "ProcessId of the Process",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "operationid",
            "in": "path",
            "description": "OperationId of the operation",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TimeParameter"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Time on operationparameter updated"
          },
          "400": {
            "description": "Processid missing"
          },
          "404": {
            "description": "Process not found, Operation not found"
          }
        }
      }
    },
    "/projects/{projectid}/operations/parameters_reset": {
      "post": {
        "tags": [
          "Operation Parameters"
        ],
        "summary": "Reset Operation Parameters",
        "description": "Reset operation parameters for all operations for the project defined with the path variable ProjectId.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationParameter"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Operation parameters reset import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Operation parameters reset import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Operation parameters missing"
          }
        }
      }
    },
    "/projects/{projectid}/operations/parameters": {
      "post": {
        "tags": [
          "Operation Parameters"
        ],
        "summary": "Post Operation Parameters",
        "description": "Post operation parameters for the project defined by the path variable ProjectId",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OperationParameter"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Operation parameters import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Operation parameters import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Operation parameters missing"
          }
        }
      },
      "get": {
        "tags": [
          "Operation Parameters"
        ],
        "summary": "Get Operation Parameters",
        "description": "Get operation parameters for the project defined by the path variable ProjectId",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      }
    },
    "/management/status/{id}": {
      "get": {
        "tags": [
          "Management"
        ],
        "summary": "Get Status",
        "operationId": "ManagementStatus",
        "description": "Some API calls for POST and DELETE are asynchronous and run in batch. Such API's will return Status code 202 and a StatusId. With this StatusId this Status API can be used to retrieve the current import status and details on the results or errors if it's finished.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "StatusId returned from asynchronous calls",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/kpis": {
      "post": {
        "tags": [
          "KPIs"
        ],
        "summary": "Post KPIs (Project)",
        "description": "Post KPIs that will be shown on the Project Dashboard for the Project specified with the ProjectId path variable.\r\nThis can for example be historic (or current) measurements from actual production. These can then be compared to simulation results (scenarios) to see how good simulation matches with real data.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/KPI"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "KPI import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "KPI import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "KPI data missing"
          }
        }
      },
      "get": {
        "tags": [
          "KPIs"
        ],
        "summary": "Get KPIs (Project)",
        "description": "Get KPIs that are shown on the Project Dashboard for the Project specified with the ProjectId path variable.\r\nThis can for example be historic (or current) measurements from actual production. These can then be compared to simulation results (scenarios) to see how good simulation matches with real data.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kpitype",
            "in": "query",
            "description": "Name of the KPI type (e.g. from Configuration --> KPI Types, Names column)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "404": {
            "description": "KPI type not found"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "KPIs"
        ],
        "summary": "Delete KPIs (Project)",
        "description": "Delete KPIs from the Project Dashboard for the Project specified with the ProjectId path variable.\r\nThis can for example be historic (or current) measurements from actual production. These can then be compared to simulation results (scenarios) to see how good simulation matches with real data.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kpitype",
            "in": "query",
            "description": "Name of the KPI type (e.g. from Configuration --> KPI Types, Names column)",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "404": {
            "description": "KPI type not found"
          }
        }
      }
    },
    "/projects/{projectid}/scenarios/{scenarioid}/kpis": {
      "get": {
        "tags": [
          "KPIs"
        ],
        "summary": "Get KPIs (Scenario)",
        "description": "Get the KPIs (simulation results) for the scenario and project specified with the ScenarioId and ProjectId path variable.\r\nThe Query Parameter kpitype is optional. If omitted all KPI types will be returned. Since this can be many it's recommended to filter by type.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scenarioid",
            "in": "path",
            "description": "ScenarioId of the scenario",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "kpitype",
            "in": "query",
            "description": "Name of the KPI type (e.g. from Configuration --> KPI Types, Names column)\r\nIf omitted all KPI types will be returned",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "404": {
            "description": "KPI type not found"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      }
    },
    "/projects/{projectid}/equipment": {
      "post": {
        "tags": [
          "Equipment"
        ],
        "summary": "Post Equipment",
        "description": "Post a list of equipment in Masterdata for the Project specified with the ProjectId path variable.\r\nEquipment refers to equipment pools, locations in the factory structure and the equipment parameter definition (Parameters Class or Control Behavior Set). These objects should exist before creating equipment.\r\nParameter definitions can not yet be created via an API. They need to be defined in Optimize my plant. \r\nPost Equipment is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.\r\n",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Equipment"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Equipment import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Equipment import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Equipment missing"
          }
        }
      },
      "get": {
        "tags": [
          "Equipment"
        ],
        "summary": "Get Equipment",
        "description": "Get a list of equipment from Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Equipment"
        ],
        "summary": "Delete Equipment",
        "description": "Delete all equipment in Masterdata for the Project specified with the ProjectId path variable.\r\nDeleting equipment will not delete EquipmentPools or FactoryStructure, but it will delete the Failures associated with the deleted equipment.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/equipment/parameters_reset": {
      "post": {
        "tags": [
          "Equipment Parameters"
        ],
        "summary": "Reset Equipment Parameters",
        "description": "Reset parameters back to default for all Equipment in masterdata for the Project specified with the ProjectId path variable.\r\nReset equipment parameters is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentParameter"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Equipment parameters reset import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Equipment parameters reset import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Equipment parameters missing"
          }
        }
      }
    },
    "/projects/{projectid}/equipment/parameters": {
      "post": {
        "tags": [
          "Equipment Parameters"
        ],
        "summary": "Post Equipment Parameters",
        "description": "Post list of equipment parameter changes for equipment in masterdata for the Project specified with the ProjectId path variable.\r\nPost Equipment Parameters is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentParameter"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Equipment parameters import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Equipment parameters import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Equipment parameters missing"
          }
        }
      },
      "get": {
        "tags": [
          "Equipment Parameters"
        ],
        "summary": "Get Equipment Parameters",
        "description": "Get parameter values for all equipment in masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      }
    },
    "/projects/{projectid}/equipment/{equipmentid}/failures": {
      "post": {
        "tags": [
          "Equipment Failures"
        ],
        "summary": "Post Failures (one Equipment)",
        "description": "Post list of Failures for one Equipment in Masterdata for the equipment specified with the EquipmentId and ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "equipmentid",
            "in": "path",
            "description": "EquipmentId of the Equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Failure import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Failure import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "404": {
            "description": "Equipment not found, FailureList not found"
          }
        }
      },
      "get": {
        "tags": [
          "Equipment Failures"
        ],
        "summary": "Get Failures (one Equipment)",
        "description": "Get list of Failures for one Equipment in Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "equipmentid",
            "in": "path",
            "description": "EquipmentId of the Equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Equipment Failures"
        ],
        "summary": "Post Failures (one Equipment)",
        "description": "Get list of all Failures for one Equipment in Masterdata for the Project specified with the ProjectId path variable.\r\nPost Failures for one equipment is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "equipmentid",
            "in": "path",
            "description": "EquipmentId of the Equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/equipmentpools": {
      "post": {
        "tags": [
          "Equipment Pools"
        ],
        "summary": "Post EquipmentPools",
        "description": "Post a list of EquipmentPools in Masterdata for the Project specified with the ProjectId path variable.\r\nPost EquipmentPools is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EquipmentPool"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Equipment pool import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Equipment pool import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Equipmentpools missing"
          }
        }
      },
      "get": {
        "tags": [
          "Equipment Pools"
        ],
        "summary": "Get EquipmentPools",
        "description": "Get list of all EquipmentPools from Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Equipment Pools"
        ],
        "summary": "Delete EquipmentPools",
        "description": "Delete all EquipmentPools from Masterdata for the Project specified with the ProjectId path variable.\r\nDeleting equipment pools will remove the reference to the equipment pools for all equipment. If you want to update equipment pools without removing the reference use Post EquipmentPools instead",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/failures": {
      "post": {
        "tags": [
          "Equipment Failures"
        ],
        "summary": "Post Failures",
        "description": "Post a list of Failures for Equipment in Masterdata for the Project specified with the ProjectId path variable.\r\nPost Failures is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Failure"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Failure import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Failure import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "404": {
            "description": "FailureList not found"
          }
        }
      },
      "get": {
        "tags": [
          "Equipment Failures"
        ],
        "summary": "Get Failures",
        "description": "Get list of all Failures for all Equipment from Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Equipment Failures"
        ],
        "summary": "Delete Failures",
        "description": "Delete all Failures for all Equipment from Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/equipment/{equipmentid}": {
      "get": {
        "tags": [
          "Equipment"
        ],
        "summary": "Get one Equipment",
        "description": "Get details of equipment in Masterdata specified with the EquipmentId and ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "equipmentid",
            "in": "path",
            "description": "EquipmentId of the Equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Equipment Id missing"
          },
          "404": {
            "description": "Equipment not found"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Equipment"
        ],
        "summary": "Delete one Equipment",
        "description": "Get one equipment in Masterdata specified with the EquipmentId and ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "equipmentid",
            "in": "path",
            "description": "EquipmentId of the Equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Equipment Id missing"
          },
          "404": {
            "description": "Equipment not found"
          }
        }
      },
      "put": {
        "tags": [
          "Equipment"
        ],
        "summary": "Put one Equipment",
        "description": "Update the details of one equipment in Masterdata specified with the EquipmentId and ProjectId path variable.\r\nEquipment refers to equipment pools and locations in the factory structure. These objects should exist before creating equipment.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "equipmentid",
            "in": "path",
            "description": "EquipmentId of the Equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Equipment"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Equipment Id missing"
          },
          "404": {
            "description": "Equipment not found"
          },
          "409": {
            "description": "Equipment id not unique"
          }
        }
      }
    },
    "/projects/{projectid}/equipmentpools/{equipmentpoolid}": {
      "get": {
        "tags": [
          "Equipment Pools"
        ],
        "summary": "Get one EquipmentPool",
        "description": "Get details for one EquipmentPool from Masterdata specified with the EquipmentPoolId and ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "equipmentpoolid",
            "in": "path",
            "description": "EquipmentPoolId of the Equipment Pool",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Equipment pool Id missing"
          },
          "404": {
            "description": "Equipment pool not found"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "delete": {
        "tags": [
          "Equipment Pools"
        ],
        "summary": "Delete one EquipmentPool",
        "description": "Delete one EquipmentPool from Masterdata specified with the EquipmentPoolId and ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "equipmentpoolid",
            "in": "path",
            "description": "EquipmentPoolId of the Equipment Pool",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Equipment pool Id missing"
          },
          "404": {
            "description": "Equipment pool not found"
          }
        }
      }
    },
    "/projects/{projectid}/factorystructure": {
      "get": {
        "tags": [
          "Factory Structure"
        ],
        "summary": "Get Factorystructure",
        "description": "Get a nested list of objects in the FactoryStructure (Site --> Area --> Station) from Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }
        }
      },
      "post": {
        "tags": [
          "Factory Structure"
        ],
        "summary": "Post Factorystructure",
        "description": "Post a nested list of objects in the FactoryStructure (Site --> Area --> Station) to replace the Masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FactoryStructure"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Factory structure import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Factory structure import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Factory structure missing"
          }
        }
      },
      "delete": {
        "tags": [
          "Factory Structure"
        ],
        "summary": "Delete Factorystructure",
        "description": "Delete the entire factorystructure (Site --> Area --> Station) from Masterdata in the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/documents": {
      "post": {
        "tags": [
          "Files"
        ],
        "summary": "Post File (Project)",
        "description": "Post a file with the extension .csv, .txt, .log or .json to the project specified with the ProjectId path variable.\r\nThis file will be available in all scenarios (also new ones)",
        "parameters": [
          {
            "name": "DateVersion",
            "in": "query",
            "description": "Date and time for the file in the format 1947-06-10T20:44:00.153Z",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "Type",
            "in": "query",
            "description": "Type of the file, as defined under Configuration --> File Api column Type key ",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "400": {
            "description": "Project Id missing, File type missing, Empty file, Date version missing, Date format version invalid"
          },
          "404": {
            "description": "File type not found"
          }
        }
      }
    },
    "/projects/{projectid}/storageequipment": {
      "post": {
        "tags": [
          "Storage Equipment"
        ],
        "summary": "Post Storage Equipment",
        "description": "Post a list of storage equipment in Masterdata for the project specified with the projectid path variable. Storage equipment refers to Storage Equipment Types and Storage Parameter Class. These objects should exist before creating storage equipment. Parameter definitions can not yet be created via an API. They need to be defined in Optimize my plant. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StorageEquipment"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "get": {
        "tags": [
          "Storage Equipment"
        ],
        "summary": "Get Storage Equipment",
        "description": "Get a list of storage equipment in Masterdata for the project specified with the projectid path variable. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "delete": {
        "tags": [
          "Storage Equipment"
        ],
        "summary": "Delete Storage Equipment",
        "description": "Delete all storage equipment in Masterdata for the Project specified with the ProjectId path variable. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storageequipment/parameters_reset": {
      "post": {
        "tags": [
          "Storage Equipment Parameters"
        ],
        "summary": "Reset Storage Parameters",
        "description": "Reset parameters back to default for all Storage Equipment in masterdata for the Project specified with the ProjectId path variable. Reset Storage parameters is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StorageEquipmentParameter"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storageequipment/parameters": {
      "post": {
        "tags": [
          "Storage Equipment Parameters"
        ],
        "summary": "Post Storage Parameters",
        "description": "Post list of storage parameter changes for storage equipment in masterdata for the Project specified with the ProjectId path variable. Post Storage Parameters is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StorageEquipmentParameter"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "get": {
        "tags": [
          "Storage Equipment Parameters"
        ],
        "summary": "Get Storage Parameters",
        "description": "Get parameter values for all storage equipment in masterdata for the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storageequipment/allowedfamilies": {
      "post": {
        "tags": [
          "Storage Equipment allowed Storage Families"
        ],
        "summary": "Post allowed Storage Families",
        "description": "Post a list of pairs of storage equipment and allowed storage family.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AllowedFamily"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "get": {
        "tags": [
          "Storage Equipment allowed Storage Families"
        ],
        "summary": "Get allowed Storage Families",
        "description": "Get a list of pairs of storage equipment and allowed storage family.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "delete": {
        "tags": [
          "Storage Equipment allowed Storage Families"
        ],
        "summary": "Delete allowed Storage Families",
        "description": "Delete all allowed storage families for all storage equipment in the project defined by the ProjectId.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storageequipment/allowedgoods": {
      "post": {
        "tags": [
          "Storage Equipment allowed Goods"
        ],
        "summary": "Post allowed Goods",
        "description": "Post a list of pairs of storage equipment and allowed goods.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AllowedGood"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "get": {
        "tags": [
          "Storage Equipment allowed Goods"
        ],
        "summary": "Get allowed Goods",
        "description": "Get a list of pairs of storage equipment and allowed goods.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "delete": {
        "tags": [
          "Storage Equipment allowed Goods"
        ],
        "summary": "Delete allowed Goods",
        "description": "Delete all associations of allowed goods to storage equipment (but not the products).",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storagefamilies": {
      "post": {
        "tags": [
          "Storage Families"
        ],
        "summary": "Post Storage Families",
        "description": "Post a list of storage families in Masterdata for the project specified with the projectid path variable. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StorageFamily"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "get": {
        "tags": [
          "Storage Families"
        ],
        "summary": "Get Storage Families",
        "description": "Get a list of all storage families in Masterdata for the project specified with the projectid path variable. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "delete": {
        "tags": [
          "Storage Families"
        ],
        "summary": "Delete Storage Families",
        "description": "Delete all storage families in Masterdata for the project specified with the projectid path variable. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storageequipmenttypes": {
      "post": {
        "tags": [
          "Storage Equipment Types"
        ],
        "summary": "Post Storage Equipment Types",
        "description": "Post a list of storage equipment types than can be used to define storage equipment for the project specified by the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/StorageEquipmentType"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "get": {
        "tags": [
          "Storage Equipment Types"
        ],
        "summary": "Get Storage Equipment Types",
        "description": "Get a list of storage equipment types for the project specified by the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "delete": {
        "tags": [
          "Storage Equipment Types"
        ],
        "summary": "Delete Storage Equipment Types",
        "description": "Delete all storage equipment types for the project specified by the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storageequipment/{storageequipmentid}": {
      "get": {
        "tags": [
          "Storage Equipment"
        ],
        "summary": "Get one Storage Equipment",
        "description": "Get storage equipment details for the storage equipment specified by the storage equipment Id and the projectid path variable. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storageequipmentid",
            "in": "path",
            "description": "ID of the storage equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "delete": {
        "tags": [
          "Storage Equipment"
        ],
        "summary": "Delete one Storage Equipment",
        "description": "Delete the storage equipment specified by the storage equipment Id and the projectid path variable. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storageequipmentid",
            "in": "path",
            "description": "ID of the storage equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      },
      "put": {
        "tags": [
          "Storage Equipment"
        ],
        "summary": "Put one Storage Equipment",
        "description": "Update storage equipment details for the storage equipment specified by the storage equipment Id and the projectid path variable. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storageequipmentid",
            "in": "path",
            "description": "ID of the storage equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StorageEquipment"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storageequipment/{storageequipmentid}/allowedfamilies": {
      "delete": {
        "tags": [
          "Storage Equipment allowed Storage Families"
        ],
        "summary": "Delete allowed Storage Families",
        "description": "Delete allowed storage families for all the storage equipment specified by the StorageEquipmentId in the project defined by the ProjectId.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storageequipmentid",
            "in": "path",
            "description": "ID of the storage equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storageequipment/{storageequipmentid}/allowedgoods": {
      "delete": {
        "tags": [
          "Storage Equipment allowed Goods"
        ],
        "summary": "Delete allowed Goods",
        "description": "Delete all associations of allowed goods to the storage equipment specified by the StorageEquipmentId and ProjectId.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storageequipmentid",
            "in": "path",
            "description": "ID of the storage equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/storagefamilies/{storagefamilyid}": {
      "delete": {
        "tags": [
          "Storage Families"
        ],
        "summary": "Delete one Storage Family",
        "description": "Delete the storage family for the storage family specified by the storage family Id and the projectid path variable. ",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storagefamilyid",
            "in": "path",
            "description": "ID of the storage equipment",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          }
        }
      }
    },
    "/projects/{projectid}/shifts": {
      "post": {
        "tags": [
          "Shifts"
        ],
        "summary": "Post shifts",
        "description": "Post a list of shifts to the Project specified with the ProjectId path variable.\r\n\r\nBehavior if attribute/value pairs are missing: \r\n- for datetime and only time attributes, use this format: \"2024-08-29T10:00:00.000Z\".\r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n- if boolean is missing this will be initialized with False. If that's not wanted please set the value explicitly\r\nPost Shifts is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Shift"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Shift import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Shift import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Team list missing"
          }
        }
      },
      "get": {
        "tags": [
          "Shifts"
        ],
        "summary": "Get shifts",
        "description": "Get a list of all shifts from the Project specified with the ProjectId path variable.\r\n\r\nAn Example payload JSON looks like\r\n\r\n    {\r\n        \"Name\": \"Afternoon\",\r\n        \"ShiftStart\": \"2025-08-29T12:00:00.000Z\",\r\n        \"ShiftEnd\": \"2025-08-29T17:00:00.000Z\",\r\n        \"isMonday\": true,\r\n        \"isTuesday\": true,\r\n        \"isWednesday\": true,\r\n        \"isThursday\": true,\r\n        \"isFriday\": true,\r\n        \"isSaturday\": false,\r\n        \"isSunday\": false,\r\n        \"Color\": \"#269EDD\",\r\n        \"RepeatsEvery\": \"\",\r\n        \"ShiftPauses\": [\r\n            {\r\n                \"StartPause\": \"2025-08-29T14:00:00.000Z\",\r\n                \"EndPause\": \"2025-08-29T14:30:00.000Z\"\r\n            }\r\n        ]\r\n    }",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }

        }
      },
      "delete": {
        "tags": [
          "Shifts"
        ],
        "summary": "Delete shifts",
        "description": "Delete all shifts from the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shifts deleted"
          }
        }
      }
    },
    "/projects/{projectid}/shifts/equipment": {
      "post": {
        "tags": [
          "Shifts"
        ],
        "summary": "Post shift equipment assignment",
        "description": "Post a list of shift equipment assignments to the Project specified with the ProjectId path variable. An API to Get, Post or Delete entries from the Equipment Maintenance calendar does not yet exist.\r\n\r\nPost Shifts is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShiftEquipment"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Shift equipment assigning started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Shift equipment assigning started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Teams list missing"
          }

        }
      },
      "get": {
        "tags": [
          "Shifts"
        ],
        "summary": "Get shift equipment assignment",
        "description": "Get a list of all shift equipment assignments from the Project specified with the ProjectId path variable.\r\n\r\nAn example payload JSON looks like this\r\n\r\n[\r\n    {\r\n        \"ShiftName\": \"Afternoon\",\r\n        \"EquipmentId\": \"S3\"\r\n    },\r\n    {\r\n        \"ShiftName\": \"Night\",\r\n        \"EquipmentId\": \"S1\"\r\n    },\r\n    {\r\n        \"ShiftName\": \"Night\",\r\n        \"EquipmentId\": \"test2\"\r\n    },\r\n    {\r\n        \"ShiftName\": \"TestMorning\",\r\n        \"EquipmentId\": \"S2\"\r\n    }\r\n]",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }

        }
      },
      "delete": {
        "tags": [
          "Shifts"
        ],
        "summary": "Delete shift equipment assignment",
        "description": "Remove all shifts equipment assignments from the Project specified with the ProjectId path variable.\r\nThis api does not delete shifts nor the equipment, only removes the relationship of the objects.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shift Equipment assignment deleted"
          }
        }
      }
    },
    "/projects/{projectid}/shifts/workers": {
      "post": {
        "tags": [
          "Shifts"
        ],
        "summary": "Post shift worker assignment",
        "description": "Post a list of shift worker assignment to the Project specified with the ProjectId path variable. The shift assignments will show in the Shift Planner. To modify the Default shift plan use the Post Worker API.\r\n",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShiftWorker"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Shift workers assigning started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Process import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Teams list missing"
          }

        }
      },
      "get": {
        "tags": [
          "Shifts"
        ],
        "summary": "Get shift worker assignment",
        "description": "Get a list of all shift equipment assignments from the Project specified with the ProjectId path variable.\r\n\r\nAn example payload JSON looks like this\r\n\r\n[\r\n    {\r\n        \"ShiftName\": \"Afternoon\",\r\n        \"WorkerId\": \"Op2\",\r\n        \"FromDate\": \"2025-07-31T22:00:00.000Z\",\r\n        \"ToDate\": \"2025-08-11T22:00:00.000Z\"\r\n    },\r\n    {\r\n        \"ShiftName\": \"Night\",\r\n        \"WorkerId\": \"Op2\",\r\n        \"FromDate\": \"2025-08-15T22:00:00.000Z\",\r\n        \"ToDate\": \"2025-08-23T22:00:00.000Z\"\r\n    }\r\n]",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }

        }
      },
      "delete": {
        "tags": [
          "Shifts"
        ],
        "summary": "Delete shift worker assignment",
        "description": "Remove all shifts worker assignments from the Project specified with the ProjectId path variable.\r\nThis api does not delete the shifts nor the workers, it only deletes the shift configuration that relates to both the objects.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Shift workers assignment deleted"
          }
        }
      }
    },
    "/projects/{projectid}/teams": {
      "post": {
        "tags": [
          "Team"
        ],
        "summary": "Post teams",
        "description": "Post a list of teams to the Project specified with the ProjectId path variable.\r\n\r\nPost Teams is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Team"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Teams import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Teams import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Teams list missing"
          }

        }
      },
      "get": {
        "tags": [
          "Team"
        ],
        "summary": "Get teams",
        "description": "Get a list of all teams from the Project specified with the ProjectId path variable.\r\n\r\nAn Example payload JSON looks like this\r\n\r\n[\r\n    {\r\n        \"TeamId\": \"T1\",\r\n        \"Name\": \"Work\"\r\n    },\r\n    {\r\n        \"TeamId\": \"T2\",\r\n        \"Name\": \"Setup\"\r\n    }\r\n]",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }

        }
      },
      "delete": {
        "tags": [
          "Team"
        ],
        "summary": "Delete teams",
        "description": "Delete all teams from the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Teams deleted"
          }
        }
      }
    },
    "/projects/{projectid}/workers": {
      "post": {
        "tags": [
          "Worker"
        ],
        "summary": "Post workers",
        "description": "Post a list of workers to the Project specified with the ProjectId path variable.\r\n\r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n- team id is optional, but when specified, it needs to exist in the database in order to import. if it does not exist, you need to use the Post Team api first.\r\n- DefaultShift is optional, but when specified, it needs to exist in the database in order to import. If it does not exist you need to use the Post Shift API first.\r\n\r\nPost Workers is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Worker"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Workers import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Workers import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Worker list missing"
          }

        }
      },
      "get": {
        "tags": [
          "Worker"
        ],
        "summary": "Get workers",
        "description": "Get a list of all workers from the Project specified with the ProjectId path variable.\r\n\r\nAn Example payload JSON looks like this\r\n\r\n[\r\n    {\r\n        \"TeamId\": \"T1\",\r\n        \"WorkerName\": \"Work_Operators\",\r\n        \"WorkerId\": \"Op1\",\r\n        \"Qty\": 1,\r\n        \"Efficiency\": 100,\r\n        \"Speed\": 0.8,\r\n        \"Capacity\": 4,\r\n        \"Priority\": 1,\r\n        \"TravelMode\": \"Walk_along_footpaths\"\r\n    }\r\n]",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }

        }
      },
      "delete": {
        "tags": [
          "Worker"
        ],
        "summary": "Delete workers",
        "description": "Delete all workers from the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "teamid",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Workers Deleted"
          },
          "404": {
            "description": "Team in query not found"
          }

        }
      }
    },
    "/projects/{projectid}/workerskillset": {
      "post": {
        "tags": [
          "Worker"
        ],
        "summary": "Post worker skillset",
        "description": "Post a list of worker skill set to the Project specified with the ProjectId path variable.\r\n\r\n- Skilltype, Worker and the Equipment specified in the payload need to exist in the database in order to import the workerskillset\r\n- if string, integer, real values are missing they will be initialized as empty (NULL)\r\n\r\nPost Worker Skillset is an asynchronous call that will run in batch. Use the StatusId from the result in the Management Status API to retrieve the import status and if errors have occurred.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Workerskillset"
                }
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Worker skillset import started. Check the Management/Status API to check if the import was successful",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "Status": {
                      "type": "string",
                      "example": "Success",
                      "description": "Status"
                    },
                    "Code": {
                      "type": "integer",
                      "example": "202",
                      "description": "Status code"
                    },
                    "Message": {
                      "type": "string",
                      "example": "Worker skillset import started",
                      "description": "Status message"
                    },
                    "StatusId": {
                      "type": "string",
                      "example": "c957e34f-9877-49b6-8106-89add82681a6",
                      "description": "Status Id that can be used in the Management Status API to retrieve the status of the delete"
                    }
                  }
                }
              }
            },
            "links": {
              "Get Status": {
                "description": "The `StatusId` can be used in the Management Status API as `id` in GET /management/jobs/{StatusId}",
                "operationId": "ManagementStatus",
                "parameters": {
                  "id": "$response.body#/StatusId"
                }
              }
            }
          },
          "400": {
            "description": "Worker list missing"
          }

        }
      },
      "get": {
        "tags": [
          "Worker"
        ],
        "summary": "Get worker skillset",
        "description": "Get a list of the worker skillset from the Project specified with the ProjectId path variable.\r\n\r\nAn Example payload JSON looks like this\r\n[\r\n    {\r\n        \"SkillType\": \"Setup\",\r\n        \"WorkerId\": \"Op2\",\r\n        \"EquipmentId\": \"S1\"\r\n    },\r\n    {\r\n        \"SkillType\": \"Setup\",\r\n        \"WorkerId\": \"Op2\",\r\n        \"EquipmentId\": \"S2\"\r\n    },\r\n    {\r\n        \"SkillType\": \"Setup\",\r\n        \"WorkerId\": \"Op2\",\r\n        \"EquipmentId\": \"S3\"\r\n    }\r\n]",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "successful operation"
          },
          "500": {
            "description": "An unexpected error occurred while processing the request"
          }

        }
      },
      "delete": {
        "tags": [
          "Worker"
        ],
        "summary": "Delete worker skillset",
        "description": "Delete the worker skillset from the Project specified with the ProjectId path variable.",
        "parameters": [
          {
            "name": "projectid",
            "in": "path",
            "description": "ProjectId of the project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Worker skillset deleted"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Product": {
        "title": "Product",
        "type": "object",
        "properties": {
          "ProductId": {
            "type": "string",
            "description": "Required",
            "example": "P2"
          },
          "Name": {
            "type": "string",
            "example": "Product B"
          },
          "DefaultLotSize": {
            "type": "number",
            "example": "5.00"
          },
          "IsFinishedGood": {
            "type": "boolean",
            "default": false,
            "example": "true"
          },
          "ProductFamily": {
            "type": "string",
            "example": "FB"
          },
          "ParameterClass": {
            "type": "string",
            "example": "Conf1"
          },
          "StorageFamilies": {
            "type": "array",
            "items": {
              "title": "StorageFamily",
              "type": "object",
              "properties": {
                "FamilyId": {
                  "type": "string",
                  "description": "Required",
                  "example": "TB"
                }
              }
            }
          }
        }
      },
      "ProductStructure": {
        "title": "ProductStructure",
        "type": "object",
        "properties": {
          "ParentProductId": {
            "type": "string",
            "description": "Product Id of the Parent - Required if NOT top structure",
            "example": "P1"
          },
          "ChildProductId": {
            "type": "string",
            "description": "Product Id of the Child - Required",
            "example": "P1SUB1"
          },
          "Qty": {
            "type": "number",
            "description": "Quantity of the children, default is 1",
            "example": "1"
          },
          "Unit": {
            "type": "string",
            "description": "Unit of measure (e.g parts, liters)",
            "example": "kilogram"
          }
        },
        "description": "Product assembly structures ( parent-child relations)"
      },
      "ProductFamily": {
        "title": "ProductFamily",
        "type": "object",
        "properties": {
          "FamilyId": {
            "type": "string",
            "description": "Required",
            "example": "FB"
          }
        }
      },
      "WorkOrder": {
        "title": "WorkOrder",
        "type": "object",
        "properties": {
          "OrderNumber": {
            "type": "string",
            "description": "Id of the WorkOrder - Required",
            "example": "WO01"
          },
          "ProductId": {
            "type": "string",
            "description": "Id of the Product that is to be produced - Required",
            "example": "P1"
          },
          "ProcessId": {
            "type": "string",
            "description": "Id of the process to use to execute the WorkOrder",
            "example": "Process2"
          },
          "StartDate": {
            "type": "string",
            "description": "Planned start date, format: 2024-04-T0806:00:00.000Z",
            "format": "date-time",
            "example": "2024-04-08T06:00:00Z"
          },
          "EndDate": {
            "type": "string",
            "description": "Planned end date, format: 2024-07-08T09:45:10.000Z",
            "format": "date-time",
            "example": "2024-07-08T09:45:10Z"
          },
          "LotSize": {
            "type": "number",
            "description": "Quantity of products to produce ",
            "example": "2.00"
          },
          "BatchSize": {
            "type": "number",
            "description": "If the order is to be produced in multiple batches, specify size (e.g. 5, 10, 20)",
            "example": "5.00"
          },
          "Status": {
            "enum": [
              "Planned",
              "Waiting",
              "Processing",
              "Done",
              "Study"
            ],
            "type": "string",
            "description": "Order status (e.g. Planned, Waiting, Processing, Done, Study) - Required",
            "example": "Planned"
          },
          "Priority": {
            "type": "integer",
            "description": "To define a priority in orders",
            "format": "int32",
            "example": "1"
          },
          "MixFrequency": {
            "type": "number",
            "description": "Percentage between 0 and 100 - Required",
            "example": "6.70"
          }
        }
      },
      "ProductionPlan": {
        "title": "ProductionPlan",
        "type": "object",
        "properties": {
          "ProductionPlanType": {
            "enum": [
              "WorkOrders",
              "ProductMix"
            ],
            "type": "string",
            "description": "Type of ProductionPlan (eg: WorkOrders or ProductMix) - Required",
            "example": "ProductMix"
          }
        }
      },
      "ProductionTask": {
        "title": "ProductionTask",
        "type": "object",
        "properties": {
          "OrderId": {
            "type": "string",
            "description": "Unique identifier of the Workorder- if filled Required",
            "example": "WO2"
          },
          "OperationId": {
            "type": "string",
            "description": "Unique identifier of the Operation - if filled Required",
            "example": "Ga1_20"
          },
          "EquipmentId": {
            "type": "string",
            "description": "Unique identifier of the Equipment - if filled Required",
            "example": "S2"
          },
          "TaskId": {
            "type": "string",
            "description": "Unique identifer of the Task - Required",
            "example": "PrtT:174"
          },
          "Name": {
            "type": "string",
            "description": "Name of the Task",
            "example": "Part: PrtT:174 on: S2"
          },
          "Quantity": {
            "type": "number",
            "description": "Quantity of products (can be semi-finished goods) this task will produce",
            "example": "1"
          },
          "SetupStartTime": {
            "type": "string",
            "description": "Time to start setup operations, Format: 2024-04-08T07:10:00.000Z - Required",
            "format": "date-time",
            "example": "2025-04-29T07:10:00Z"
          },
          "ProductionStartTime": {
            "type": "string",
            "description": "Start time of production operations, Format: 2024-04-08T07:10:00.000Z - Required",
            "format": "date-time",
            "example": "2025-04-29T07:10:00Z"
          },
          "ProductionEndTime": {
            "type": "string",
            "description": "End time of production operations, Format: 2024-04-08T07:10:00.000Z - Required",
            "format": "date-time",
            "example": "2025-04-29T08:19:00Z"
          },
          "Status": {
            "type": "string",
            "description": "Task status: (Planned, Waiting, Processing, Done, Study) - if filled Required",
            "example": "Study"
          },
          "WorkerId": {
            "type": "string",
            "description": "Unique identifier of the Worker - if filled Required",
            "example": "Op2"
          }
        }
      },
      "Process": {
        "title": "Process",
        "type": "object",
        "properties": {
          "ProcessId": {
            "type": "string",
            "description": "Id of the Process - Required",
            "example": "Process1"
          },
          "Name": {
            "type": "string",
            "description": "Name of the Process",
            "example": "Process for part 1"
          },
          "ProcessFamily": {
            "type": "string",
            "description": "Name of the Process Family, used to group processes by families",
            "example": "Family1"
          },
          "Operations": {
            "type": "array",
            "items": {
              "title": "Operation",
              "type": "object",
              "properties": {
                "OperationId": {
                  "type": "string",
                  "description": "Id of the Process these Operations will belong to - Required",
                  "example": "Operation1_10"
                },
                "Name": {
                  "type": "string",
                  "description": "Name of Operation",
                  "example": "Operation1"
                },
                "SequenceId": {
                  "type": "integer",
                  "description": "Sequence of the Operation (e.g. 10, 20\u2026) - Required",
                  "format": "int32",
                  "example": "10"
                },
                "IsInternal": {
                  "type": "boolean",
                  "description": "To capture whether the Operation is done in-house or external",
                  "default": false,
                  "example": "false"
                },
                "EquipmentPoolId": {
                  "type": "string",
                  "description": "Id of the Pool that is used for the Operation - Required",
                  "example": "PS1"
                },
                "SetUpTime": {
                  "type": "number",
                  "description": "Default setup time for this Operation - in seconds",
                  "example": "300.00"
                },
                "ProcessingTime": {
                  "type": "number",
                  "description": "Default processing time for this Operation - in seconds",
                  "example": "60.00"
                },
                "ParameterClass": {
                  "type": "string",
                  "description": "Class to group the parameters",
                  "example": "Station"
                }
              },
              "description": "List of Operations belonging to a Process"
            }
          },
          "ProductProcesses": {
            "type": "array",
            "items": {
              "title": "ProductProcess",
              "type": "object",
              "properties": {
                "ProductId": {
                  "type": "string",
                  "description": "Id of the Product - Required",
                  "example": "P12"
                }
              },
              "description": "List of Products that the Process produces"
            }
          }
        }
      },
      "OperationParameter": {
        "title": "Operation Parameter",
        "type": "object",
        "properties": {
          "OperationId": {
            "type": "string"
          },
          "ParameterName": {
            "type": "string"
          },
          "Value": {
            "type": "string"
          }
        }
      },
      "TimeParameter": {
        "title": "TimeParameter",
        "type": "object",
        "properties": {
          "TimeType": {
            "enum": [
              "Processing_time",
              "RecoveryTime",
              "Startup_Time",
              "Cycle_Time"
            ],
            "type": "string",
            "description": "Type of parameter - Required",
            "example": "Processing_time"
          },
          "IsEquipmentSpecific": {
            "type": "boolean",
            "description": "Whether parameter is equipment specific or not - Required",
            "default": false,
            "example": "true"
          },
          "EquipmentId": {
            "type": "string",
            "description": "id of the Equipment - Required if IsEquipmentSpecific",
            "example": "S1"
          },
          "IsProductSpecific": {
            "type": "boolean",
            "description": "Whether parameter is product specific or not - Required",
            "default": false,
            "example": "true"
          },
          "FromProduct": {
            "type": "string",
            "description": "Product id of source product - Required if IsProductSpecific ",
            "example": "P12"
          },
          "ToProduct": {
            "type": "string",
            "description": "Product id of destination product - Required if IsProductSpecific ",
            "example": "P1"
          },
          "Time": {
            "type": "number",
            "description": "Time in seconds - Required",
            "example": "3600"
          }
        }
      },
      "EquipmentParameter": {
        "title": "Equipment Parameter",
        "type": "object",
        "properties": {
          "EquipmentId": {
            "type": "string"
          },
          "ParameterName": {
            "type": "string"
          },
          "Value": {
            "type": "string"
          }
        }
      },
      "ProductParameter": {
        "title": "Product Parameter",
        "type": "object",
        "properties": {
          "ProductId": {
            "type": "string"
          },
          "ParameterName": {
            "type": "string"
          },
          "Value": {
            "type": "string"
          }
        }
      },
      "Operation": {
        "title": "Operation",
        "type": "object",
        "properties": {
          "OperationId": {
            "type": "string",
            "description": "Id of the Operation - Required",
            "example": "Operation1_10"
          },
          "Name": {
            "type": "string",
            "description": "Name of the Operation",
            "example": "Operation 1"
          },
          "SequenceId": {
            "type": "integer",
            "description": "Sequence of the Operation (e.g. 10, 20...) - Required",
            "format": "int32",
            "example": "10"
          },
          "IsInternal": {
            "type": "boolean",
            "description": "To Capture whether the Operation is doen in-house or external",
            "default": false,
            "example": "false"
          },
          "EquipmentPoolId": {
            "type": "string",
            "description": "Id of the Pool that is used for the Operation - Required",
            "example": "PS1"
          },
          "SetUpTime": {
            "type": "number",
            "description": "Default setup time for this Operation - in seconds",
            "example": "3600.00"
          },
          "ProcessingTime": {
            "type": "number",
            "description": "Default processing time for this Operation - in seconds",
            "example": "60.00"
          },
          "ParameterClass": {
            "type": "string",
            "description": "Class to group the parameters",
            "example": "Station"
          }
        }
      },
      "KPI": {
        "title": "KPI",
        "type": "object",
        "properties": {
          "KPIType": {
            "type": "string",
            "description": "Type of KPI - Required",
            "example": "Energy"
          },
          "MeasurementTypeId": {
            "type": "string",
            "description": "Id of the Measurement type",
            "example": "Fail"
          },
          "GroupId": {
            "type": "string",
            "description": "Id of the Group",
            "example": "Failure"
          },
          "EquipmentId": {
            "type": "string",
            "description": "Id of the Equipment",
            "example": "S2"
          },
          "ProductId": {
            "type": "string",
            "description": "Id of the Product",
            "example": "P2"
          },
          "WorkerId": {
            "type": "string",
            "description": "Id of the Worker",
            "example": "OP2"
          },
          "Measurements": {
            "type": "array",
            "items": {
              "title": "Measurement",
              "type": "object",
              "properties": {
                "DateTime": {
                  "type": "string",
                  "description": "Format: 2024-12-11T23:59:59.999Z",
                  "format": "date-time",
                  "example": "2024-12-11T23:59:59Z"
                },
                "Value": {
                  "type": "number",
                  "description": "Value of the Measurement",
                  "example": "2.57"
                }
              }
            }
          }
        }
      },
      "Equipment": {
        "title": "Equipment",
        "type": "object",
        "properties": {
          "EquipmentId": {
            "type": "string",
            "description": "Id of the equipment - Required",
            "example": "S1"
          },
          "Name": {
            "type": "string",
            "description": "Name of the equipment - Required",
            "example": "Station1"
          },
          "LocationId": {
            "type": "string",
            "description": "Location of the factory structure",
            "example": "SimpleLine"
          },
          "ResourceType": {
            "type": "string",
            "description": "Equipment type or class",
            "example": "Operator"
          },
          "ParameterClass": {
            "type": "string",
            "description": "Set to group the parameters",
            "example": "Station"
          },
          "EquipmentLink": {
            "type": "string",
            "description": "Path of the Plant Simulation object to link the equipment",
            "example": ".Models.Model.S1"
          },
          "Pools": {
            "type": "array",
            "items": {
              "title": "Pool",
              "type": "object",
              "properties": {
                "PoolId": {
                  "type": "string",
                  "description": "Pool Id of the EquipmentPool - Required",
                  "example": "PS1"
                }
              }
            }
          }
        }
      },
      "Failure": {
        "title": "Failure",
        "type": "object",
        "properties": {
          "EquipmentId": {
            "type": "string",
            "description": "Id of the Equipment - Required when uploading multiple Failures of different Equipment",
            "example": "S1"
          },
          "FailureName": {
            "type": "string",
            "description": "FailureName is the unique identifier per Equipment- Required",
            "example": "Failure"
          },
          "AvailabilityValue": {
            "type": "number",
            "description": "Availability percentage of the Failure - Required",
            "example": "95.00"
          },
          "MTTR": {
            "type": "string",
            "description": "Mean time to repair (format: dd:hh:mm:ss) - Required",
            "example": "1:00:00"
          },
          "TimeRelation": {
            "enum": [
              "Operation time",
              "Processing time",
              "Simulation time"
            ],
            "default": "Simulation time",
            "type": "string",
            "description": "Relation to the time (Operation, Processing or Simulation time) ",
            "example": "Simulation time"
          }
        }
      },
      "EquipmentPool": {
        "title": "EquipmentPool",
        "type": "object",
        "properties": {
          "EquipmentPoolId": {
            "type": "string",
            "description": "Id of the Pool - Required",
            "example": "PS1"
          },
          "Name": {
            "type": "string",
            "description": "Name of the Pool - Required",
            "example": "PS1 simpleline"
          }
        }
      },
      "FactoryStructure": {
        "title": "FactoryStructure",
        "type": "object",
        "properties": {
          "SiteId": {
            "type": "string",
            "description": "Id of a Site (Id is unique within a project) - Required",
            "example": "SimpleLine"
          },
          "Name": {
            "type": "string",
            "description": "Name of Site - Required",
            "example": "SimpleLine"
          },
          "Areas": {
            "type": "array",
            "items": {
              "title": "Area",
              "type": "object",
              "properties": {
                "AreaId": {
                  "type": "string",
                  "description": "Id of Area (Id is unique within a project) - Required",
                  "example": "Area1"
                },
                "Name": {
                  "type": "string",
                  "description": "Name of Area - Required",
                  "example": "Area1"
                },
                "Lines": {
                  "type": "array",
                  "items": {
                    "title": "Line",
                    "type": "object",
                    "properties": {
                      "LineId": {
                        "type": "string",
                        "description": "Id of Line (Id is unique within a project) - Required",
                        "example": "Line1"
                      },
                      "Name": {
                        "type": "string",
                        "description": "Name of Line - Required",
                        "example": "Line1"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "StorageEquipment": {
        "title": "StorageEquipment",
        "type": "object",
        "properties": {
          "StorageEquipmentId": {
            "type": "string"
          },
          "Name": {
            "type": "string"
          },
          "StorageClass": {
            "enum": [
              "Storage",
              "Package",
              "Transport"
            ],
            "type": "string"
          },
          "StorageEquipmentType": {
            "type": "string"
          },
          "ParameterClass": {
            "type": "string"
          },
          "DimX": {
            "type": "integer",
            "format": "int32"
          },
          "DimY": {
            "type": "integer",
            "format": "int32"
          },
          "DimZ": {
            "type": "integer",
            "format": "int32"
          },
          "Length": {
            "type": "number"
          },
          "Width": {
            "type": "number"
          },
          "Height": {
            "type": "number"
          }
        }
      },
      "AllowedFamily": {
        "title": "AllowedFamily",
        "type": "object",
        "properties": {
          "StorageEquipmentId": {
            "type": "string"
          },
          "FamilyId": {
            "type": "string"
          },
          "Priority": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "StorageEquipmentParameter": {
        "title": "Storage Parameter",
        "type": "object",
        "properties": {
          "StorageEquipmentId": {
            "type": "string"
          },
          "ParameterName": {
            "type": "string"
          },
          "Value": {
            "type": "string"
          }
        }
      },
      "AllowedGood": {
        "title": "AllowedGood",
        "type": "object",
        "properties": {
          "StorageEquipmentId": {
            "type": "string"
          },
          "ProductId": {
            "type": "string"
          },
          "Quantity": {
            "type": "number"
          }
        }
      },
      "StorageFamily": {
        "title": "StorageFamily",
        "type": "object",
        "properties": {
          "FamilyId": {
            "type": "string"
          }
        }
      },
      "StorageEquipmentType": {
        "title": "StorageEquipmentType",
        "type": "object",
        "properties": {
          "Name": {
            "type": "string"
          },
          "StorageClass": {
            "type": "string"
          }
        }
      },
      "Shift": {
        "title": "Shift",
        "type": "object",
        "properties": {
          "Name": {
            "type": "string",
            "description": "Unique name of the Shift - Required",
            "example": "Morning"
          },
          "ShiftStart": {
            "type": "string",
            "description": " Start time of the Shift configuration, format: 2024-01-01T06:00:00.000Z - Required",
            "format": "date-time",
            "example": "2024-01-01T06:00:00Z"
          },
          "ShiftEnd": {
            "type": "string",
            "description": " End time of the Shift configuration, format: 2024-01-01T14:00:00.000Z - Required",
            "format": "date-time",
            "example": "2024-01-01T14:00:00Z"
          },
          "isMonday": {
            "type": "boolean",
            "description": "Ocurence of the shift on Monday - false if left empty",
            "default": false,
            "example": "true"
          },
          "isTuesday": {
            "type": "boolean",
            "description": "Occurence of the shift on Tuesday - false if left empty",
            "default": false,
            "example": "true"
          },
          "isWednesday": {
            "type": "boolean",
            "description": "Occurence of the shift on Wednesday - false if left empty",
            "default": false,
            "example": "true"
          },
          "isThursday": {
            "type": "boolean",
            "description": "Occurence of the shift on Thursday - false if left empty",
            "default": false,
            "example": "true"
          },
          "isFriday": {
            "type": "boolean",
            "description": "Occurence of the shift on Friday - false if left empty",
            "default": false,
            "example": "true"
          },
          "isSaturday": {
            "type": "boolean",
            "description": "Occurence of the shift on Saturday - false if left empty",
            "default": false,
            "example": "false"
          },
          "isSunday": {
            "type": "boolean",
            "description": "Occurence of the shift on Sunday - false if left empty",
            "default": false,
            "example": "false"
          },
          "Color": {
            "type": "string",
            "description": "Color of the shift in the calendar",
            "example": "#269EDD"
          },
          "RepeatsEvery": {
            "type": "string",
            "description": "Recurrence of the shift ( Day, Week, Month, Year)",
            "example": "Week"
          },
          "ShiftPauses": {
            "type": "array",
            "items": {
              "title": "ShiftPause",
              "type": "object",
              "properties": {
                "StartPause": {
                  "type": "string",
                  "description": " Start time of the Shift pause, format: 2024-01-01T10:00:00.000Z - Required",
                  "format": "date-time",
                  "example": "2024-01-01T10:00:00Z"
                },
                "EndPause": {
                  "type": "string",
                  "description": " End time of the Shift pause, format: 2024-01-01T10:00:00.000Z - Required",
                  "format": "date-time",
                  "example": "2024-01-01T10:30:00Z"
                }
              }
            }
          }
        }
      },
      "ShiftEquipment": {
        "title": "ShiftEquipment",
        "type": "object",
        "properties": {
          "ShiftName": {
            "type": "string",
            "description": "Unique name of the Shift - Required",
            "example": "Morning"
          },
          "EquipmentId": {
            "type": "string",
            "description": "Id of the Equipment - Required",
            "example": "S1"
          }
        }
      },
      "ShiftWorker": {
        "title": "ShiftWorker",
        "type": "object",
        "properties": {
          "ShiftName": {
            "type": "string",
            "description": "Unique name of the Shift - Required",
            "example": "Morning"
          },
          "WorkerId": {
            "type": "string",
            "description": "Id of the Worker - Required",
            "example": "Op2"
          },
          "FromDate": {
            "type": "string",
            "description": " Start date of the Shift configuration, format: 2024-04-08T06:00:00.000Z - Required",
            "format": "date-time",
            "example": "2024-04-08T06:00:00Z"
          },
          "ToDate": {
            "type": "string",
            "description": " End date of the Shift configuration, format: 2024-04-21T06:00:00.000Z - Required",
            "format": "date-time",
            "example": "2024-04-21T06:00:00Z"
          }
        }
      },
      "Team": {
        "title": "Team",
        "type": "object",
        "properties": {
          "TeamId": {
            "type": "string",
            "description": "Unique identifier of the Team - Required",
            "example": "T1"
          },
          "Name": {
            "type": "string",
            "description": "Name of the Team - Required",
            "example": "Team Operators"
          }
        }
      },
      "Worker": {
        "title": "Worker",
        "type": "object",
        "properties": {
          "TeamId": {
            "type": "string",
            "description": "Id of the team - Required if filled",
            "example": "T1"
          },
          "WorkerName": {
            "type": "string",
            "description": "Name of the worker - Required",
            "example": "Operator"
          },
          "WorkerId": {
            "type": "string",
            "description": "Id of the Worker - Required",
            "example": "Op2"
          },
          "Qty": {
            "type": "integer",
            "description": "Amount of Workers",
            "format": "int32",
            "example": "1"
          },
          "Efficiency": {
            "type": "number",
            "description": "Efficiency",
            "example": "1.8"
          },
          "Speed": {
            "type": "number",
            "description": "Speed",
            "example": "1.5"
          },
          "Capacity": {
            "type": "integer",
            "description": "Capacity ",
            "format": "int32",
            "example": "4"
          },
          "Priority": {
            "type": "integer",
            "description": "Priority number for the Worker ",
            "format": "int32",
            "example": "3"
          },
          "TravelMode": {
            "type": "string",
            "description": "Mode of travel for Worker - Required if filled",
            "example": "Beam_to_workplace"
          },
          "DefaultShift": {
            "type": "string",
            "description": "Name of the default shift ",
            "example": "Morning"
          }
        }
      },
      "Workerskillset": {
        "title": "Workerskillset",
        "type": "object",
        "properties": {
          "SkillType": {
            "type": "string",
            "description": "Skill of Worker - Required",
            "example": "Processing"
          },
          "WorkerId": {
            "type": "string",
            "description": "Unique Identifier of the Worker - Required",
            "example": "Op2"
          },
          "EquipmentId": {
            "type": "string",
            "description": "Unique Identifier of the Equipment - Required",
            "example": "S1"
          },
          "MinRequiredNumber": {
            "type": "integer",
            "description": "Minimal number of workers in integer - Required",
            "format": "int32",
            "example": "1"
          }
        }
      },
      "AuthenticationPayload": {
        "type": "object",
        "properties": {
          "client_id": {
            "type": "string",
            "example": "100123456-CSS-OMP-001A-1750012312312"
          },
          "client_secret": {
            "type": "string",
            "example": "abcdef"
          },
          "audience": {
            "type": "string",
            "enum": ["https://ompprod.us1.sws.siemens.com/oauth/token", "https://ompprod.eu1.sws.siemens.com/oauth/token", "https://ompprod.ap1.sws.siemens.com/oauth/token", "https://omppreprod.us1.sws.siemens.com/oauth/token"]
          },
          "grant_type": {
            "type": "string",
            "example": "client_credentials"
          }
        }
      }
    },
    "responses": {},
    "parameters": {},
    "examples": {},
    "requestBodies": {},
    "headers": {},
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    },
    "links": {},
    "callbacks": {}
  },
  "security": [
    {
      "bearerAuth": []
    }
  ]
}