{
  "openapi": "3.1.1",
  "info": {
    "title": "OS Development Group Web API",
    "description": "Web API supporting OS Intranet by OS Development Group",
    "version": "v1"
  },
  "paths": {
    "/api/Accounting/accountings": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountingModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountingModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountingModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountingModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountingModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountingModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountingModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountingModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountingModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/accounts": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/accounts/{accountNumber}": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "accountNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccountModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/budgetaccounts": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetAccountModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetAccountModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetAccountModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/budgetaccounts/{accountNumber}": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "accountNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetAccountModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetAccountModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/BudgetAccountModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/contactaccounts": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactAccountModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactAccountModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactAccountModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/debtors": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactAccountModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactAccountModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactAccountModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/creditors": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactAccountModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactAccountModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactAccountModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/contactaccounts/{accountNumber}": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "accountNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAccountModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAccountModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAccountModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/debtors/{accountNumber}": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "accountNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAccountModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAccountModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAccountModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/creditors/{accountNumber}": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "accountNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAccountModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAccountModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAccountModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/postinglines": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "statusDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "numberOfPostingLines",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PostingLineModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PostingLineModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PostingLineModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApplyPostingLineModel"
                }
              }
            },
            "text/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApplyPostingLineModel"
                }
              }
            },
            "application/*+json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApplyPostingLineModel"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalResultModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalResultModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalResultModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/postinglines": {
      "post": {
        "tags": [
          "Accounting"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyPostingJournalModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyPostingJournalModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyPostingJournalModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalResultModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalResultModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalResultModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/{accountingNumber}/postingjournal": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "Accounting"
        ],
        "parameters": [
          {
            "name": "accountingNumber",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyPostingJournalModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyPostingJournalModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyPostingJournalModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplyPostingJournalModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/accountgroups": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountGroupModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountGroupModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountGroupModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/budgetaccountgroups": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetAccountGroupModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetAccountGroupModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BudgetAccountGroupModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Accounting/paymentterms": {
      "get": {
        "tags": [
          "Accounting"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentTermModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentTermModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentTermModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/Common/letterheads": {
      "get": {
        "tags": [
          "Common"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LetterHeadModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LetterHeadModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LetterHeadModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/oauth/token": {
      "post": {
        "tags": [
          "Security"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "required": [
                  "grant_type"
                ],
                "type": "object",
                "properties": {
                  "grant_type": {
                    "type": "string"
                  },
                  "code": {
                    "type": "string"
                  },
                  "client_id": {
                    "type": "string"
                  },
                  "client_secret": {
                    "type": "string"
                  },
                  "redirect_uri": {
                    "type": "string"
                  }
                }
              },
              "encoding": {
                "grant_type": {
                  "style": "form"
                },
                "code": {
                  "style": "form"
                },
                "client_id": {
                  "style": "form"
                },
                "client_secret": {
                  "style": "form"
                },
                "redirect_uri": {
                  "style": "form"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokenModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokenModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokenModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/oauth/userinfo": {
      "get": {
        "tags": [
          "Security"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/jwt": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": [ ]
          }
        ]
      }
    },
    "/api/oauth/jwks": {
      "get": {
        "tags": [
          "Security"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/JsonWebKeySetModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonWebKeySetModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/JsonWebKeySetModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/openid-configuration": {
      "get": {
        "tags": [
          "Security"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/OpenIdProviderConfigurationModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenIdProviderConfigurationModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenIdProviderConfigurationModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/acme-challenge/{challengeToken}": {
      "get": {
        "tags": [
          "Security"
        ],
        "parameters": [
          {
            "name": "challengeToken",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccessTokenModel": {
        "required": [
          "access_token",
          "expires_in",
          "token_type"
        ],
        "type": "object",
        "properties": {
          "token_type": {
            "minLength": 1,
            "type": "string"
          },
          "access_token": {
            "minLength": 1,
            "type": "string"
          },
          "id_token": {
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "expires_in": {
            "maximum": 3600,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "AccountGroupModel": {
        "required": [
          "accountGroupType",
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 99,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "accountGroupType": {
            "$ref": "#/components/schemas/AccountGroupType"
          }
        },
        "additionalProperties": false
      },
      "AccountGroupType": {
        "enum": [
          "Assets",
          "Liabilities"
        ],
        "type": "string",
        "format": "string"
      },
      "AccountIdentificationModel": {
        "required": [
          "accounting",
          "accountName",
          "accountNumber"
        ],
        "type": "object",
        "properties": {
          "accounting": {
            "$ref": "#/components/schemas/AccountingIdentificationModel"
          },
          "accountNumber": {
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9A-ZÆØÅ\\-+]{1,16}$",
            "type": "string"
          },
          "accountName": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AccountModel": {
        "required": [
          "accountGroup",
          "accounting",
          "accountName",
          "accountNumber",
          "creditInfos",
          "deletable",
          "modifiable",
          "statusDate",
          "valuesAtEndOfLastMonthFromStatusDate",
          "valuesAtEndOfLastYearFromStatusDate",
          "valuesAtStatusDate"
        ],
        "type": "object",
        "properties": {
          "accounting": {
            "$ref": "#/components/schemas/AccountingIdentificationModel"
          },
          "accountNumber": {
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9A-ZÆØÅ\\-+]{1,16}$",
            "type": "string"
          },
          "accountName": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 512,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "note": {
            "maxLength": 4096,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "statusDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiable": {
            "type": "boolean"
          },
          "deletable": {
            "type": "boolean"
          },
          "accountGroup": {
            "$ref": "#/components/schemas/AccountGroupModel"
          },
          "valuesAtStatusDate": {
            "$ref": "#/components/schemas/CreditInfoValuesModel"
          },
          "valuesAtEndOfLastMonthFromStatusDate": {
            "$ref": "#/components/schemas/CreditInfoValuesModel"
          },
          "valuesAtEndOfLastYearFromStatusDate": {
            "$ref": "#/components/schemas/CreditInfoValuesModel"
          },
          "creditInfos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreditInfoModel"
            }
          }
        },
        "additionalProperties": false
      },
      "AccountingIdentificationModel": {
        "required": [
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 99,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "AccountingModel": {
        "required": [
          "accounts",
          "backDating",
          "balanceBelowZero",
          "budgetAccounts",
          "contactAccounts",
          "deletable",
          "letterHead",
          "modifiable",
          "name",
          "number",
          "statusDate"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 99,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "letterHead": {
            "$ref": "#/components/schemas/LetterHeadIdentificationModel"
          },
          "balanceBelowZero": {
            "$ref": "#/components/schemas/BalanceBelowZeroType"
          },
          "backDating": {
            "maximum": 365,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          },
          "statusDate": {
            "type": "string",
            "format": "date-time"
          },
          "accounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountModel"
            }
          },
          "budgetAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetAccountModel"
            }
          },
          "contactAccounts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContactAccountModel"
            }
          },
          "modifiable": {
            "type": "boolean"
          },
          "deletable": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "ApplyPostingJournalModel": {
        "required": [
          "accountingNumber",
          "applyPostingLines"
        ],
        "type": "object",
        "properties": {
          "accountingNumber": {
            "maximum": 99,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "applyPostingLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ApplyPostingLineModel"
            }
          }
        },
        "additionalProperties": false
      },
      "ApplyPostingJournalResultModel": {
        "required": [
          "postingLines",
          "postingWarnings"
        ],
        "type": "object",
        "properties": {
          "postingLines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PostingLineModel"
            }
          },
          "postingWarnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PostingWarningModel"
            }
          }
        },
        "additionalProperties": false
      },
      "ApplyPostingLineModel": {
        "required": [
          "accountNumber",
          "details",
          "postingDate"
        ],
        "type": "object",
        "properties": {
          "identifier": {
            "type": [
              "null",
              "string"
            ],
            "format": "uuid"
          },
          "postingDate": {
            "type": "string",
            "format": "date-time"
          },
          "reference": {
            "maxLength": 16,
            "minLength": 0,
            "type": [
              "null",
              "string"
            ]
          },
          "accountNumber": {
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9A-ZÆØÅ\\-+]{1,16}$",
            "type": "string"
          },
          "details": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "budgetAccountNumber": {
            "maxLength": 16,
            "minLength": 0,
            "pattern": "^[0-9A-ZÆØÅ\\-+]{1,16}$",
            "type": [
              "null",
              "string"
            ]
          },
          "debit": {
            "maximum": 99999999,
            "minimum": 0,
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "credit": {
            "maximum": 99999999,
            "minimum": 0,
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "contactAccountNumber": {
            "maxLength": 16,
            "minLength": 0,
            "pattern": "^[0-9A-ZÆØÅ\\-+]{1,16}$",
            "type": [
              "null",
              "string"
            ]
          },
          "sortOrder": {
            "maximum": 9999999,
            "minimum": 0,
            "type": [
              "null",
              "integer"
            ],
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "BalanceBelowZeroType": {
        "enum": [
          "Debtors",
          "Creditors"
        ],
        "type": "string",
        "format": "string"
      },
      "BalanceInfoModel": {
        "required": [
          "balance",
          "deletable",
          "modifiable",
          "month",
          "year"
        ],
        "type": "object",
        "properties": {
          "year": {
            "maximum": 2199,
            "minimum": 1950,
            "type": "integer",
            "format": "int32"
          },
          "month": {
            "maximum": 12,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "modifiable": {
            "type": "boolean"
          },
          "deletable": {
            "type": "boolean"
          },
          "balance": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "BalanceInfoValuesModel": {
        "required": [
          "balance"
        ],
        "type": "object",
        "properties": {
          "balance": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "BudgetAccountGroupModel": {
        "required": [
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 99,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "BudgetAccountModel": {
        "required": [
          "accounting",
          "accountName",
          "accountNumber",
          "budgetAccountGroup",
          "budgetInfos",
          "deletable",
          "modifiable",
          "statusDate",
          "valuesForLastMonthOfStatusDate",
          "valuesForLastYearOfStatusDate",
          "valuesForMonthOfStatusDate",
          "valuesForYearToDateOfStatusDate"
        ],
        "type": "object",
        "properties": {
          "accounting": {
            "$ref": "#/components/schemas/AccountingIdentificationModel"
          },
          "accountNumber": {
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9A-ZÆØÅ\\-+]{1,16}$",
            "type": "string"
          },
          "accountName": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 512,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "note": {
            "maxLength": 4096,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "statusDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiable": {
            "type": "boolean"
          },
          "deletable": {
            "type": "boolean"
          },
          "budgetAccountGroup": {
            "$ref": "#/components/schemas/BudgetAccountGroupModel"
          },
          "valuesForMonthOfStatusDate": {
            "$ref": "#/components/schemas/BudgetInfoValuesModel"
          },
          "valuesForLastMonthOfStatusDate": {
            "$ref": "#/components/schemas/BudgetInfoValuesModel"
          },
          "valuesForYearToDateOfStatusDate": {
            "$ref": "#/components/schemas/BudgetInfoValuesModel"
          },
          "valuesForLastYearOfStatusDate": {
            "$ref": "#/components/schemas/BudgetInfoValuesModel"
          },
          "budgetInfos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BudgetInfoModel"
            }
          }
        },
        "additionalProperties": false
      },
      "BudgetInfoModel": {
        "required": [
          "available",
          "budget",
          "deletable",
          "expenses",
          "income",
          "modifiable",
          "month",
          "posted",
          "year"
        ],
        "type": "object",
        "properties": {
          "year": {
            "maximum": 2199,
            "minimum": 1950,
            "type": "integer",
            "format": "int32"
          },
          "month": {
            "maximum": 12,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "modifiable": {
            "type": "boolean"
          },
          "deletable": {
            "type": "boolean"
          },
          "income": {
            "maximum": 99999999,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "expenses": {
            "maximum": 99999999,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "budget": {
            "type": "number",
            "format": "double"
          },
          "posted": {
            "type": "number",
            "format": "double"
          },
          "available": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "BudgetInfoValuesModel": {
        "required": [
          "available",
          "budget",
          "posted"
        ],
        "type": "object",
        "properties": {
          "budget": {
            "type": "number",
            "format": "double"
          },
          "posted": {
            "type": "number",
            "format": "double"
          },
          "available": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ContactAccountModel": {
        "required": [
          "accounting",
          "accountName",
          "accountNumber",
          "balanceInfos",
          "deletable",
          "modifiable",
          "paymentTerm",
          "statusDate",
          "valuesAtEndOfLastMonthFromStatusDate",
          "valuesAtEndOfLastYearFromStatusDate",
          "valuesAtStatusDate"
        ],
        "type": "object",
        "properties": {
          "accounting": {
            "$ref": "#/components/schemas/AccountingIdentificationModel"
          },
          "accountNumber": {
            "maxLength": 16,
            "minLength": 1,
            "pattern": "^[0-9A-ZÆØÅ\\-+]{1,16}$",
            "type": "string"
          },
          "accountName": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "maxLength": 512,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "note": {
            "maxLength": 4096,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "statusDate": {
            "type": "string",
            "format": "date-time"
          },
          "modifiable": {
            "type": "boolean"
          },
          "deletable": {
            "type": "boolean"
          },
          "mailAddress": {
            "maxLength": 256,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$",
            "type": [
              "null",
              "string"
            ]
          },
          "primaryPhone": {
            "maxLength": 32,
            "minLength": 1,
            "pattern": "^[\\+]?[0-9\\s]+$",
            "type": [
              "null",
              "string"
            ]
          },
          "secondaryPhone": {
            "maxLength": 32,
            "minLength": 1,
            "pattern": "^[\\+]?[0-9\\s]+$",
            "type": [
              "null",
              "string"
            ]
          },
          "paymentTerm": {
            "$ref": "#/components/schemas/PaymentTermModel"
          },
          "valuesAtStatusDate": {
            "$ref": "#/components/schemas/BalanceInfoValuesModel"
          },
          "valuesAtEndOfLastMonthFromStatusDate": {
            "$ref": "#/components/schemas/BalanceInfoValuesModel"
          },
          "valuesAtEndOfLastYearFromStatusDate": {
            "$ref": "#/components/schemas/BalanceInfoValuesModel"
          },
          "balanceInfos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BalanceInfoModel"
            }
          }
        },
        "additionalProperties": false
      },
      "CreditInfoModel": {
        "required": [
          "available",
          "balance",
          "credit",
          "deletable",
          "modifiable",
          "month",
          "year"
        ],
        "type": "object",
        "properties": {
          "year": {
            "maximum": 2199,
            "minimum": 1950,
            "type": "integer",
            "format": "int32"
          },
          "month": {
            "maximum": 12,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "modifiable": {
            "type": "boolean"
          },
          "deletable": {
            "type": "boolean"
          },
          "balance": {
            "type": "number",
            "format": "double"
          },
          "credit": {
            "maximum": 99999999,
            "minimum": 0,
            "type": "number",
            "format": "double"
          },
          "available": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "CreditInfoValuesModel": {
        "required": [
          "available",
          "balance",
          "credit"
        ],
        "type": "object",
        "properties": {
          "balance": {
            "type": "number",
            "format": "double"
          },
          "credit": {
            "type": "number",
            "format": "double"
          },
          "available": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "ErrorModel": {
        "required": [
          "errorCode",
          "errorMessage",
          "errorType",
          "method",
          "validatingField",
          "validatingType"
        ],
        "type": "object",
        "properties": {
          "errorCode": {
            "maximum": 9999,
            "minimum": 1000,
            "type": "integer",
            "format": "int32"
          },
          "errorType": {
            "minLength": 1,
            "type": "string"
          },
          "errorMessage": {
            "minLength": 1,
            "type": "string"
          },
          "method": {
            "type": [
              "null",
              "string"
            ]
          },
          "validatingType": {
            "type": [
              "null",
              "string"
            ]
          },
          "validatingField": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false,
        "x-error-codes": [
          {
            "ErrorCode": "1001",
            "ErrorType": "CommandBusError",
            "ErrorMessage": "Unable to find a command handler which supports the command type '{0}'."
          },
          {
            "ErrorCode": "1002",
            "ErrorType": "CommandBusError",
            "ErrorMessage": "Unable to find a command handler which supports the command type '{0}' and the result type '{1}'."
          },
          {
            "ErrorCode": "1003",
            "ErrorType": "QueryBusError",
            "ErrorMessage": "Unable to find a query handler which supports the query type '{0}' and the result type '{1}'."
          },
          {
            "ErrorCode": "1004",
            "ErrorType": "CommandBusError",
            "ErrorMessage": "An error occurred while publishing the command type '{0}': {1}"
          },
          {
            "ErrorCode": "1005",
            "ErrorType": "CommandBusError",
            "ErrorMessage": "An error occurred while publishing the command type '{0}' to get the result type '{1}': {2}"
          },
          {
            "ErrorCode": "1006",
            "ErrorType": "QueryBusError",
            "ErrorMessage": "An error occurred while querying the query type '{0}' to get the result type '{1}': {2}"
          },
          {
            "ErrorCode": "1007",
            "ErrorType": "RepositoryError",
            "ErrorMessage": "An error occurred in the repository method '{0}': {1}"
          },
          {
            "ErrorCode": "1008",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should be greater than 0."
          },
          {
            "ErrorCode": "1009",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should be greater than or equal to 0."
          },
          {
            "ErrorCode": "1010",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should be between {1} and {2}."
          },
          {
            "ErrorCode": "1011",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' cannot be null."
          },
          {
            "ErrorCode": "1012",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' cannot be null or empty."
          },
          {
            "ErrorCode": "1013",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' cannot be null, empty or white space."
          },
          {
            "ErrorCode": "1014",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should have a minimum length of {1}."
          },
          {
            "ErrorCode": "1015",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should have a maximum length of {1}."
          },
          {
            "ErrorCode": "1016",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should match the following pattern: {1}."
          },
          {
            "ErrorCode": "1017",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be in the past."
          },
          {
            "ErrorCode": "1018",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be in the past or today."
          },
          {
            "ErrorCode": "1019",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be today."
          },
          {
            "ErrorCode": "1020",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be in the future."
          },
          {
            "ErrorCode": "1021",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be today or in the future."
          },
          {
            "ErrorCode": "1022",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be a past date within {1} {2} from {3}."
          },
          {
            "ErrorCode": "1023",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be a future date within {1} {2} from {3}."
          },
          {
            "ErrorCode": "1024",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be a date later than {1}."
          },
          {
            "ErrorCode": "1025",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be a date later than or equal to {1}."
          },
          {
            "ErrorCode": "1026",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should be known within the system."
          },
          {
            "ErrorCode": "1027",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should be unknown within the system."
          },
          {
            "ErrorCode": "1028",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should refer to a deletable entity within the system."
          },
          {
            "ErrorCode": "1029",
            "ErrorType": "RepositoryError",
            "ErrorMessage": "No token has been acquired for the repository defined by '{0}'."
          },
          {
            "ErrorCode": "1030",
            "ErrorType": "RepositoryError",
            "ErrorMessage": "The acquired token for the repository defined by '{0}' has expired."
          },
          {
            "ErrorCode": "1031",
            "ErrorType": "SystemError",
            "ErrorMessage": "The value for the object named '{0}' is null."
          },
          {
            "ErrorCode": "1032",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date and time value for the submitted field '{0}' should be in the past."
          },
          {
            "ErrorCode": "1033",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date and time value for the submitted field '{0}' should be in the future."
          },
          {
            "ErrorCode": "1034",
            "ErrorType": "SystemError",
            "ErrorMessage": "A matching object of the type '{0}' already exists."
          },
          {
            "ErrorCode": "1035",
            "ErrorType": "RepositoryError",
            "ErrorMessage": "Unable to delete one or more objects of the type '{0}'."
          },
          {
            "ErrorCode": "1036",
            "ErrorType": "SystemError",
            "ErrorMessage": "An internal error has occurred: {0}"
          },
          {
            "ErrorCode": "1037",
            "ErrorType": "BusinessError",
            "ErrorMessage": "Cannot retrieve the ACME challenge for token."
          },
          {
            "ErrorCode": "1038",
            "ErrorType": "BusinessError",
            "ErrorMessage": "Cannot retrieve a JWT token for the authenticated client."
          },
          {
            "ErrorCode": "1039",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should contain some items."
          },
          {
            "ErrorCode": "1040",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The submitted message is invalid: {0}"
          },
          {
            "ErrorCode": "1041",
            "ErrorType": "SystemError",
            "ErrorMessage": "Unable to resolve the identifier for the current user."
          },
          {
            "ErrorCode": "1042",
            "ErrorType": "SystemError",
            "ErrorMessage": "The connection string named '{0}' is missing or has no value."
          },
          {
            "ErrorCode": "1043",
            "ErrorType": "SystemError",
            "ErrorMessage": "The configuration named '{0}' is missing or has no value."
          },
          {
            "ErrorCode": "1044",
            "ErrorType": "SystemError",
            "ErrorMessage": "The value for the configuration named '{0}' is invalid."
          },
          {
            "ErrorCode": "1045",
            "ErrorType": "SystemError",
            "ErrorMessage": "The value named '{0}' has not been set on an instance of '{1}'."
          },
          {
            "ErrorCode": "1046",
            "ErrorType": "SystemError",
            "ErrorMessage": "Unable to translate the value for: {0}"
          },
          {
            "ErrorCode": "1047",
            "ErrorType": "BusinessError",
            "ErrorMessage": "The operation can’t be completed because you don’t have the necessary permission."
          },
          {
            "ErrorCode": "1048",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should minimum have {1} items."
          },
          {
            "ErrorCode": "1049",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The value for the submitted field '{0}' should maximum have {1} items."
          },
          {
            "ErrorCode": "1050",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be a date earlier than {1}."
          },
          {
            "ErrorCode": "1051",
            "ErrorType": "ValidationError",
            "ErrorMessage": "The date value for the submitted field '{0}' should be a date earlier than or equal to {1}."
          },
          {
            "ErrorCode": "1052",
            "ErrorType": "SystemError",
            "ErrorMessage": "Value has not been set by the method named '{0}' on an instance of '{1}'."
          },
          {
            "ErrorCode": "1053",
            "ErrorType": "BusinessError",
            "ErrorMessage": "Unable to authorize user."
          },
          {
            "ErrorCode": "1054",
            "ErrorType": "SystemError",
            "ErrorMessage": "Unable to generate the redirect uri."
          },
          {
            "ErrorCode": "1055",
            "ErrorType": "BusinessError",
            "ErrorMessage": "Unable authenticate the client."
          },
          {
            "ErrorCode": "1056",
            "ErrorType": "BusinessError",
            "ErrorMessage": "Cannot retrieve a JWT token for the authenticated user."
          },
          {
            "ErrorCode": "1057",
            "ErrorType": "BusinessError",
            "ErrorMessage": "Unable to generate an id token for the authenticated user."
          }
        ]
      },
      "ErrorResponseModel": {
        "required": [
          "error"
        ],
        "type": "object",
        "properties": {
          "error": {
            "minLength": 1,
            "pattern": "^(invalid_request|invalid_client|invalid_grant|invalid_scope|unauthorized_client|access_denied|unsupported_response_type|unsupported_grant_type|server_error|temporarily_unavailable){1}$",
            "type": "string"
          },
          "error_description": {
            "type": [
              "null",
              "string"
            ]
          },
          "error_uri": {
            "type": [
              "null",
              "string"
            ]
          },
          "state": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "JsonWebKeyModel": {
        "required": [
          "alg",
          "e",
          "kid",
          "kty",
          "n",
          "use"
        ],
        "type": "object",
        "properties": {
          "kty": {
            "minLength": 1,
            "pattern": "^(EC|RSA|oct)$",
            "type": "string"
          },
          "use": {
            "minLength": 1,
            "pattern": "^(sig|enc)$",
            "type": "string"
          },
          "alg": {
            "minLength": 1,
            "pattern": "^(HS256|HS384|HS512|RS256|RS384|RS512|ES256|ES384|ES512|PS256|PS384|PS512|none)$",
            "type": "string"
          },
          "kid": {
            "minLength": 1,
            "type": "string"
          },
          "n": {
            "minLength": 1,
            "type": "string"
          },
          "e": {
            "minLength": 1,
            "type": "string"
          },
          "d": {
            "type": [
              "null",
              "string"
            ]
          },
          "dp": {
            "type": [
              "null",
              "string"
            ]
          },
          "dq": {
            "type": [
              "null",
              "string"
            ]
          },
          "p": {
            "type": [
              "null",
              "string"
            ]
          },
          "q": {
            "type": [
              "null",
              "string"
            ]
          },
          "qi": {
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "JsonWebKeySetModel": {
        "required": [
          "keys"
        ],
        "type": "object",
        "properties": {
          "keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JsonWebKeyModel"
            }
          }
        },
        "additionalProperties": false
      },
      "LetterHeadIdentificationModel": {
        "required": [
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 99,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "LetterHeadModel": {
        "required": [
          "line1",
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 99,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "line1": {
            "maxLength": 64,
            "minLength": 1,
            "type": "string"
          },
          "line2": {
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "line3": {
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "line4": {
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "line5": {
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "line6": {
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "line7": {
            "maxLength": 64,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "companyIdentificationNumber": {
            "maxLength": 32,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "OpenIdProviderConfigurationModel": {
        "required": [
          "authorization_endpoint",
          "id_token_signing_alg_values_supported",
          "issuer",
          "jwks_uri",
          "response_types_supported",
          "subject_types_supported",
          "token_endpoint"
        ],
        "type": "object",
        "properties": {
          "issuer": {
            "minLength": 1,
            "type": "string"
          },
          "authorization_endpoint": {
            "minLength": 1,
            "type": "string"
          },
          "token_endpoint": {
            "minLength": 1,
            "type": "string"
          },
          "userinfo_endpoint": {
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "jwks_uri": {
            "minLength": 1,
            "type": "string"
          },
          "registration_endpoint": {
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "scopes_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "response_types_supported": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "response_modes_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "grant_types_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "acr_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "subject_types_supported": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id_token_signing_alg_values_supported": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "id_token_encryption_alg_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "id_token_encryption_enc_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "userinfo_signing_alg_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "userinfo_encryption_alg_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "userinfo_encryption_enc_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "request_object_signing_alg_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "request_object_encryption_alg_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "request_object_encryption_enc_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "token_endpoint_auth_methods_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "token_endpoint_auth_signing_alg_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "display_values_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "claim_types_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "claims_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "service_documentation": {
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "claims_locales_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "ui_locales_supported": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          },
          "claims_parameter_supported": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "request_parameter_supported": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "request_uri_parameter_supported": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "require_request_uri_registration": {
            "type": [
              "null",
              "boolean"
            ]
          },
          "op_policy_uri": {
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "op_tos_uri": {
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          }
        },
        "additionalProperties": false
      },
      "PaymentTermModel": {
        "required": [
          "name",
          "number"
        ],
        "type": "object",
        "properties": {
          "number": {
            "maximum": 99,
            "minimum": 1,
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PostingLineModel": {
        "required": [
          "account",
          "details",
          "identifier",
          "postingDate",
          "sortOrder"
        ],
        "type": "object",
        "properties": {
          "identifier": {
            "type": "string",
            "format": "uuid"
          },
          "postingDate": {
            "type": "string",
            "format": "date-time"
          },
          "reference": {
            "maxLength": 16,
            "minLength": 1,
            "type": [
              "null",
              "string"
            ]
          },
          "account": {
            "$ref": "#/components/schemas/AccountIdentificationModel"
          },
          "accountValuesAtPostingDate": {
            "$ref": "#/components/schemas/CreditInfoValuesModel"
          },
          "details": {
            "maxLength": 256,
            "minLength": 1,
            "type": "string"
          },
          "budgetAccount": {
            "$ref": "#/components/schemas/AccountIdentificationModel"
          },
          "budgetAccountValuesAtPostingDate": {
            "$ref": "#/components/schemas/BudgetInfoValuesModel"
          },
          "debit": {
            "maximum": 99999999,
            "minimum": 0,
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "credit": {
            "maximum": 99999999,
            "minimum": 0,
            "type": [
              "null",
              "number"
            ],
            "format": "double"
          },
          "contactAccount": {
            "$ref": "#/components/schemas/AccountIdentificationModel"
          },
          "contactAccountValuesAtPostingDate": {
            "$ref": "#/components/schemas/BalanceInfoValuesModel"
          },
          "sortOrder": {
            "maximum": 9999999,
            "minimum": 0,
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PostingWarningModel": {
        "required": [
          "account",
          "amount",
          "postingLine",
          "reason"
        ],
        "type": "object",
        "properties": {
          "reason": {
            "$ref": "#/components/schemas/PostingWarningReason"
          },
          "account": {
            "$ref": "#/components/schemas/AccountIdentificationModel"
          },
          "amount": {
            "maximum": 99999999,
            "minimum": -99999999,
            "type": "number",
            "format": "double"
          },
          "postingLine": {
            "$ref": "#/components/schemas/PostingLineModel"
          }
        },
        "additionalProperties": false
      },
      "PostingWarningReason": {
        "enum": [
          "AccountIsOverdrawn",
          "ExpectedIncomeHasNotBeenReachedYet",
          "ExpectedExpensesHaveAlreadyBeenReached"
        ],
        "type": "string",
        "format": "string"
      }
    },
    "securitySchemes": {
      "OIDC": {
        "type": "oauth2",
        "description": "OAuth Authorization 2.0 with the Authorization Code Flow.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "/api/oauth/authorize",
            "tokenUrl": "/api/oauth/token",
            "scopes": {
              "openid": "this mandatory scope indicates that the application intends to use OpenID Connect to verify the user's identity.",
              "email": "this scope requests access to the End-User's mail addresses.",
              "webapi": "this scope requests access to the OS Development Group Web API.",
              "profile": "this scope requests access to the End-User's profile."
            }
          }
        }
      },
      "ClientCredentials": {
        "type": "oauth2",
        "description": "OAuth Authorization 2.0 with the Client Credentials Flow.\n\nExample: 'Basic YzQwMGUxY2UtNzQyOC00NjBmLTg5ZTYtOGFmMTZkMWFiN2Ni'.",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/api/oauth/token",
            "scopes": { }
          }
        }
      },
      "bearer": {
        "type": "http",
        "description": "JWT Authorization header using the Bearer scheme.\n\nExample: 'Bearer NGI4YTg0MWEtMzNiZi00MTYyLTk5MGMtY2M5OTFjOWU2MmRi'.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  },
  "security": [
    {
      "OIDC": [
        "openid",
        "email",
        "webapi",
        "profile"
      ]
    },
    {
      "ClientCredentials": [ ]
    },
    {
      "bearer": [ ]
    }
  ],
  "tags": [
    {
      "name": "Accounting"
    },
    {
      "name": "Common"
    },
    {
      "name": "Security"
    }
  ]
}