{
    "openapi": "3.0.3",
    "info": {
        "title": "Conta API",
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "https:\/\/api.gateway.conta.no",
            "description": "Api Gateway Production"
        }
    ],
    "paths": {
        "\/defaultRequest": {
            "get": {
                "tags": [],
                "summary": "Template for all rest requests",
                "operationId": "DefaultRequestTemplate",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/httpForceReadonlyDb"
                    },
                    {
                        "$ref": "#\/components\/parameters\/httpContaLanguage"
                    }
                ],
                "responses": {
                    "400": {
                        "description": "Bad Request<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| MultipleFilesUploadedException | Multiple files uploaded in an Operation that only supports having one file uploaded. |\n| UnsupportedFileSizeOpException | The size of one or more uploaded files exceeds the individual file size of the Operation. |\n| UnsupportedFileTypeOpException | The type of one or more uploaded files is not amongst the allowed file types of the Operation. |\n| EmptyFileException | One or more files that was uploaded have no content. |\n| FileRestRequestException | A category of Rest exceptions indicating inability to upload file for some reason. |\n| FileSizesExceedsSystemLimitException | Accumulated size of all uploaded files exceeds the maximum allowed size of the system. |\n| FileUploadException | File upload has been attempted, but no file was actually uploaded. |\n| PartiallyUploadedFileException | File was only partially uploaded. |\n| UnsupportedFileTypeException | The file type is not among the supported file types of the system. |\n| RestPropertyContainsOnlyTagsException | Exception thrown when a REST property contains only tags, which is not permitted or expected in the context of the REST request. |\n| RestRequestException | A category of Rest exceptions indicating resolution of the rest request failed. |\n| RestUnknownPropertyException | Exception thrown when a REST request contains a property that does not exist on the endpoint's input model. |\n| AlreadyLoggedInAuthenticationToolException | Authentication declined as the user is already logged into the system. |\n| MissingEmailAddressAuthenticationToolException | The external (Firebase) user has no email address, so a local user cannot be auto-created. |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/apiMultipleFilesUploadedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUnsupportedFileSizeOpException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUnsupportedFileTypeOpException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiEmptyFileException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiFileRestRequestException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiFileSizesExceedsSystemLimitException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiFileUploadException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiPartiallyUploadedFileException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUnsupportedFileTypeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiRestPropertyContainsOnlyTagsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiRestRequestException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiRestUnknownPropertyException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiAlreadyLoggedInAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiMissingEmailAddressAuthenticationToolException"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Unauthorized<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| GuestAccessException | Was unable, for some reason, to authorize Guest Access. |\n| GuestAccessTokenExpiredException | Access to the system denied as the timestamp of the token, used to access the system as a guest user, has expired. |\n| ApiGatewayRestRequestException | Exception class category for detecting and handling errors that originate within the ApiGatewayTool. |\n| LoginRequiredException | Access to the application denied as execution requires the user to have be logged in. |\n| InvalidTotpKeyAuthenticationToolException | Authentication declined as the TOTP key could not be authenticated. |\n| LoginFailedAuthenticationToolException | Authentication declined as login could not be established (exact reason hidden) which typically is due to the login\/pw is not accepted. |\n| LoginRequiredAuthenticationToolException | Authentication declined as it requires a user to have been logged into the system (i.e. authentication tried by a guest access). |\n| TotpRequiredAuthenticationToolException | Authentication declined as further execution requires TOTP. |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/apiGuestAccessException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiGuestAccessTokenExpiredException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiApiGatewayRestRequestException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiLoginRequiredException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiInvalidTotpKeyAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiLoginFailedAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiLoginRequiredAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiTotpRequiredAuthenticationToolException"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Forbidden<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| NotAdminException | Access to the application denied as execution requires the user to have be logged in as an Admin user. |\n| NotSuperAdminException | Access to the application denied as execution requires the user to have be logged in as a SuperAdmin user. |\n| OrgAccessDeniedException | Not given access to the application as user was denied access to the organisation specified in the request. |\n| OrgBlockedException | Not given access to the application as the org accessing the application has been blocked. |\n| UserBlockedException | Not given access to the application as the user has been blocked. |\n| ExistsIdenticalEmailAddressUserToolException | Trying to create\/register with, or change an email address to an email address that already is registered in the system. |\n| RequiresExecutionByAdminUserToolException | The functionality that was tried executed can only be performed by the user himself or an administrator. |\n| RequiresExecutionBySuperAdminUserToolException | The functionality that was tried executed can only be performed by the user himself or an super administrator. |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/apiNotAdminException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiNotSuperAdminException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiOrgAccessDeniedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiOrgBlockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUserBlockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiExistsIdenticalEmailAddressUserToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiRequiresExecutionByAdminUserToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiRequiresExecutionBySuperAdminUserToolException"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| NotFoundIdModelStorageToolException | Exception for errors within the IdModelStorage tool for when no models could be located when trying to perform an action which requires a\nspecific model to be located. |\n| UrlNotFoundException | Could not locate any Operation associated with the url (typically the \"folder\"-path) supplied. |\n| FileNotFoundFileStorageToolException | Exception thrown when the requested file is no longer available in the file storage. |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/apiNotFoundIdModelStorageToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUrlNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiFileNotFoundFileStorageToolException"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| UrlMethodNotFoundException | Could not locate any route associated with the url in the given HTTP Method. |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/apiUrlMethodNotFoundException"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| InputOpException | Input to the route is invalid. |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/errorResponseInput"
                                }
                            }
                        }
                    },
                    "413": {
                        "description": "Content Too Large<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| PostRequestTooLargeException | Size of the POST request exceeds the maximum allowed size of the system. |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/apiPostRequestTooLargeException"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Unprocessable Content<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| CustomException | Exceptions expressing errors within the \"business logic\". |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/errorResponseCustom"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| ToolException | Wraps the module exception class to indicate, by inheritance, the exception is in regard to a failure within a Tool. |\n| AmqpToolException | Exception class category for detecting and handling errors that originate within the Amqp tool. |\n| FailedToStoreAmqpToolException | Exception thrown when failed to store message on the AmqpStorage |\n| CacheToolException | Exception class category for detecting and handling errors that originate within the Cache tool. |\n| ConfigurationToolException | Exception class category for detecting and handling errors that originate within the Configuration tool. |\n| GlobalValueToolException | Exception thrown when a failure happens using Global value tool. |\n| IdModelStorageToolException | Exception class category for detecting and handling errors that originate within the IdModelStorage tool. |\n| MultipleFoundIdModelStorageToolException | Exception for errors within the IdModelStorage tool for when multiple models was located when trying to perform an action which requires\nonly a specific model to be located. |\n| ProjectToolException | Exception class category for detecting and handling errors that originate within the Project tool. |\n| TmpFileToolException | Exception class category for detecting and handling errors that originate within the TmpFile tool. |\n| OrgReadOnlyModeException | Exception thrown when organization is in a read only mode and trying to persist any data. |\n| RestException | Category which, by inheritance, indicates the exception originates from the Rest Layer. |\n| RestRequestIdempotencyException | Exception thrown when a request is not idempotent. |\n| AccessToolException | Exception class category for detecting and handling errors that originate within the AccessTool. |\n| UserHasPolicyToOrgAccessToolException | Exception indicating that the access with the given policy is already created. |\n| AccessInvitationToolException | Exception class category for detecting and handling errors that originate within the AccessInvitationTool. |\n| AlreadyExistsAccessInvitationToolException | Unable to create invitation as the user already has been invited to that specific organisation. |\n| UserHasAccessAccessInvitationToolException | Unable to create invitation as the user already has access to that specific organisation. |\n| AuthenticationToolException | Exception class category for detecting and handling errors that originate within the AuthenticationTool. |\n| BlockedAuthenticationToolException | Authentication declined as the user has been blocked. |\n| EmailAddressNotConfirmedAuthenticationToolException | Authentication declined as the email address of the user is not confirmed |\n| GoogleServiceAccountToolException | Exception class category for detecting and handling errors that originate within the GoogleServiceAccount. |\n| MissingSSORolesAuthenticationToolException | Exception is thrown when there are insufficient roles in Firebase to perform an action. Can be thrown when 'sup' or 'adm'\nrole is required to call an API, but it is missing. |\n| PasswordResetEmailNotFoundAuthenticationToolException | Authentication declined as it requires a password reset email to exist. |\n| PasswordResetExpiredAuthenticationToolException | Authentication declined as the allocated time to complete the password reset has expired. |\n| PasswordResetTooManyAttemptsAuthenticationToolException | Authentication declined as the number of password reset attempts has exceeded the number of allowed attempts. |\n| SSOToolException | Exception class category for detecting and handling errors that originate within the SSOTool. |\n| TooManyLoginAttemptsAuthenticationToolException | Authentication declined as the number of login attempts has exceeded the number of allowed attempts. |\n| EmailToolException | Exception class category for detecting and handling errors that originate within the EmailTool. |\n| EmailToolPayloadTooLargeException | Thrown when the email provider rejects the request with HTTP 413 (payload too large),\ntypically because the combined attachment size exceeds the provider's request-body limit. |\n| EmailBulkToolException | Exception class category for detecting and handling errors that originate within the EmailBulkTool. |\n| FileStorageToolException | Exception class category for detecting and handling errors that originate within the FileStorageTool. |\n| GuestAccessToolException | Exception class category for detecting and handling errors that originate within the GuestAccessTool. |\n| LanguageToolException | Exception class category for detecting and handling errors that originate within the LanguageTool. |\n| MidgardProjectToolException | Exception class category for detecting and handling errors that originate within the UserTool. |\n| OrgToolException | Exception class category for detecting and handling errors that originate within the OrgTool. |\n| OrgNoteToolException | Exception class category for detecting and handling errors that originate within the OrgNoteTool. |\n| PolicyToolException | Exception class category for detecting and handling errors that originate within the PolicyTool. |\n| ExistsEmailAddressChangeRequestUserToolException | Exception thrown when there is already a pending email change request for a user. |\n| InvalidEmailAddressCodeUserToolException | The code does not match the expected code for email address change. |\n| NoEmailAddressChangeRequestedUserToolException | There does not exist a request for changing email address. |\n| UserToolException | Exception class category for detecting and handling errors that originate within the UserTool. |\n| InvalidCodeUserRegistrationToolException | Invalid code supplied for the user registration\/invitation. |\n| RegistrationDoesNotExistUserRegistrationToolException | Unable to find the existing registration. |\n| UserAlreadyHasAccessToOrgUserRegistrationToolException | Throw when inviting a user that already has access to the organization. |\n| UserAlreadyInvitedToOrgUserRegistrationToolException | Throw when inviting a user that already has an invitation to the organization. |\n| UserRegistrationToolException | Exception class category for detecting and handling errors that originate within the OrgRegistrationTool. |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/apiToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiAmqpToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiFailedToStoreAmqpToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiCacheToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiConfigurationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiGlobalValueToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiIdModelStorageToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiMultipleFoundIdModelStorageToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiProjectToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiTmpFileToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiOrgReadOnlyModeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiRestException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiRestRequestIdempotencyException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiAccessToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUserHasPolicyToOrgAccessToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiAccessInvitationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiAlreadyExistsAccessInvitationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUserHasAccessAccessInvitationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiBlockedAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiEmailAddressNotConfirmedAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiGoogleServiceAccountToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiMissingSSORolesAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiPasswordResetEmailNotFoundAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiPasswordResetExpiredAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiPasswordResetTooManyAttemptsAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiSSOToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiTooManyLoginAttemptsAuthenticationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiEmailToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiEmailToolPayloadTooLargeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiEmailBulkToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiFileStorageToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiGuestAccessToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiLanguageToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiMidgardProjectToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiOrgToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiOrgNoteToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiPolicyToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiExistsEmailAddressChangeRequestUserToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiInvalidEmailAddressCodeUserToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiNoEmailAddressChangeRequestedUserToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUserToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiInvalidCodeUserRegistrationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiRegistrationDoesNotExistUserRegistrationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUserAlreadyHasAccessToOrgUserRegistrationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUserAlreadyInvitedToOrgUserRegistrationToolException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/apiUserRegistrationToolException"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Service Unavailable<br><br>**Possible exceptions**\n| Exception | Description |\n| ------- | ------- |\n| MaintenanceException | Access to the system is denied as the system is under maintenance. |\n| SystemException | Thrown to indicate an unrecoverable error by logic or state within the application. |",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/apiMaintenanceException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/errorResponseSystem"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        },
        "\/accounting\/organizations\/{opContextOrgId}\/bookkeeping-accounts": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Find bookkeeping accounts based on name, number, or keywords.",
                "description": "Search bookkeeping accounts for bookkeeping account no, name and keywords. Uses the language of the active user.",
                "operationId": "v1FindBookkeepingAccounts",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/queryModel.q"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.hits"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.sort"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.fromDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.toDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1FindBookkeepingAccountsInputModel.startBookkeepingAccountNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1FindBookkeepingAccountsInputModel.endBookkeepingAccountNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1FindBookkeepingAccountsInputModel.ignoredBookkeepingAccountNos"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1FindBookkeepingAccountsInputModel.transactionId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1FindBookkeepingAccountsInputModel.transactionDraftId"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "arrayOfRepresentation of a bookkeeping account.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfRouteV1FindBookkeepingAccountsOutputModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/bookkeeping\/inbox\/attachments": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search bookkeeping inbox files.",
                "description": "",
                "operationId": "v1SearchBookkeepingInboxFiles",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/queryModel.q"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.hits"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.sort"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.fromDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.toDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BookkeepingInboxSearchInputModel.afterId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BookkeepingInboxSearchInputModel.beforeId"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultBookkeepingInboxFileListModel"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Upload bookkeeping inbox files.",
                "description": "",
                "operationId": "v1UploadBookkeepingInboxFile",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Bookkeeping inbox file.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1BookkeepingInboxFileModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/bookkeeping\/inbox\/attachments\/pages": {
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Split bookkeeping inbox file into pages.",
                "description": "",
                "operationId": "v1SplitBookkeepingInboxPdfByPages",
                "parameters": [],
                "requestBody": {
                    "description": "Basic Input",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "integer",
                                "maximum": 9223372036854775807,
                                "minimum": 1,
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_INTEGER"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "arrayOfBookkeeping inbox file.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfRouteV1BookkeepingInboxFileModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/bookkeeping\/inbox\/attachments\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Get bookkeeping inbox file.",
                "description": "",
                "operationId": "v1GetBookkeepingInboxFile",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Bookkeeping inbox file.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1BookkeepingInboxFileModel"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "ext"
                ],
                "summary": "Delete bookkeeing inbox file.",
                "description": "",
                "operationId": "v1DeleteBookkeepingInboxFile",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Null"
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/income-and-expenses\/{year}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Get income and expenses key figures.",
                "description": "",
                "operationId": "v1GetIncomeAndExpenses",
                "parameters": [
                    {
                        "name": "year",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 2099,
                            "minimum": 1900,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "External v1 model for Income and Expenses summary.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1IncomeAndExpensesOutputModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/reports\/accounts-receivable\/open": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Gets open accounts receivable for one or all customers.",
                "description": "",
                "operationId": "v1GetOpenAccountsReceivable",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.customerId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.customerName"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.endDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.startDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.departmentId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.projectId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.includeOldTransactions"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.includeClosedLedgerLines"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.roundToTwoDecimals"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetOpenAccountsReceivableInputModel.recordsPerPage"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Output model for ledger reports.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1LedgerReportModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "endDateBeforeStartDateException",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/endDateBeforeStartDateException"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/reports\/balance-report": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Build the balance report for an org.",
                "description": "The balance report shows the overview of your equity, total assets and debt.",
                "operationId": "v1GetBalanceReport",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.startDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.endDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.departmentId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.projectId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.bookkeepingAccountNos"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.detailedCategories"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "arrayOfanything",
                        "content": {
                            "application\/json": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_ARRAY",
                                    "ASGARD_TYPE_MIXED"
                                ]
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/reports\/profit-and-loss-report": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Build and return the profit and loss report for an org.",
                "description": "The Profit and Loss report shows your total Income and your total Expenses in a specific period of time.",
                "operationId": "v1GetProfitAndLossReport",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.startDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.endDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.departmentId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.projectId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.bookkeepingAccountNos"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1AccountingReportInputModel.detailedCategories"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "arrayOfanything",
                        "content": {
                            "application\/json": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                },
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_ARRAY",
                                    "ASGARD_TYPE_MIXED"
                                ]
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/reports\/supplier-ledger": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Gets supplier ledger for one or all suppliers.",
                "description": "",
                "operationId": "v1GetSupplierLedger",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.customerId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.customerName"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.supplierId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.supplierName"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.startDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.endDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.bookkeepingAccountsToBeIncluded"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.startBookkeepingAccountNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.endBookkeepingAccountNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.departmentId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.projectId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.includeLedgerLines"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.includeClosedLedgerLines"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.includeOldTransactions"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetLedgerInputModel.maxTransactionsPerPage"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Output model for ledger reports.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1LedgerReportModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "endDateBeforeStartDateException",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/endDateBeforeStartDateException"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/reports\/trial-balance": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Return trial balance for an org.",
                "description": "",
                "operationId": "v1GetTrialBalanceRest",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetTrialBalanceInputModel.startDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetTrialBalanceInputModel.endDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetTrialBalanceInputModel.startBookkeepingAccountNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetTrialBalanceInputModel.endBookkeepingAccountNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetTrialBalanceInputModel.bookkeepingAccountsToBeIncluded"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetTrialBalanceInputModel.departmentId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetTrialBalanceInputModel.projectId"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sub model used to return trial balance.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1GetTrialBalanceOutputModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "endDateBeforeStartDateException",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/endDateBeforeStartDateException"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/reports\/trial-balance\/details": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Return accounting report data details for an org.",
                "description": "",
                "operationId": "v1GetAccountingReportDataDetails",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAccountingReportDetailsInputModel.startDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAccountingReportDetailsInputModel.endDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAccountingReportDetailsInputModel.departmentId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAccountingReportDetailsInputModel.projectId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAccountingReportDetailsInputModel.bookkeepingAccountNo"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "arrayOfExternal representation of a ledger line belonging to a transaction.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfRouteV1LedgerLineModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "endDateBeforeStartDateException",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/endDateBeforeStartDateException"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/suppliers": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search suppliers.",
                "description": "",
                "operationId": "v1SearchSuppliers",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/queryModel.q"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.hits"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.sort"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.fromDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.toDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchSuppliersInputModel.returnUnpaidInvoices"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchSuppliersInputModel.transactionId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchSuppliersInputModel.transactionDraftId"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultSupplierCsListModel"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Create supplier.",
                "description": "",
                "operationId": "v1CreateSupplier",
                "parameters": [],
                "requestBody": {
                    "description": "Representation of a supplier.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/RouteV1SupplierModel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Representation of a supplier.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1SupplierModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "alreadyExistsSupplierWithSameVismaNoServiceException",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/alreadyExistsSupplierWithSameVismaNoServiceException"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/suppliers\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read supplier.",
                "description": "",
                "operationId": "v1ReadSupplier",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Representation of a supplier.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1SupplierModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "ext"
                ],
                "summary": "Update supplier.",
                "description": "",
                "operationId": "v1UpdateSupplier",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Supplier id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "Representation of a supplier.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/RouteV1SupplierModel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Representation of a supplier.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1SupplierModel"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "ext"
                ],
                "summary": "Deletes a supplier by its ID.",
                "description": "",
                "operationId": "ext_supplier_delete",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the supplier to be deleted.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Null"
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/suppliers\/{supplierId}\/contacts": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search supplier contacts.",
                "description": "",
                "operationId": "v1SearchSupplierContacts",
                "parameters": [
                    {
                        "name": "supplierId",
                        "in": "path",
                        "description": "The supplier id for which suppliers to search.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultSupplierContactModel"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Create supplier contact.",
                "description": "",
                "operationId": "v1CreateSupplierContact",
                "parameters": [
                    {
                        "name": "supplierId",
                        "in": "path",
                        "description": "Id to the SupplierModel the SupplierContact belongs to.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "Each supplier may have zero, one or more SupplierContacts.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Supplier contact id.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Name of the supplier contact.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "phoneNo": {
                                        "type": "string",
                                        "description": "Phone number to the supplier contact.",
                                        "minLength": 4,
                                        "maxLength": 50,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "emailAddress": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Email address to the supplier contact.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_EMAIL"
                                        ]
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "The job title of the supplier contact.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    }
                                },
                                "required": [
                                    "supplierId",
                                    "name"
                                ],
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_OBJECT",
                                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Supplier\\Supplier\\Model\\RouteV1SupplierContactModel"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Each supplier may have zero, one or more SupplierContacts.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1SupplierContactModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/suppliers\/{supplierId}\/contacts\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read supplier contact.",
                "description": "",
                "operationId": "v1ReadSupplierContact",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Supplier contact id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    },
                    {
                        "name": "supplierId",
                        "in": "path",
                        "description": "Identifier of the Supplier this SupplierContact belongs to.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Each supplier may have zero, one or more SupplierContacts.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1SupplierContactModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "ext"
                ],
                "summary": "Update supplier contact.",
                "description": "",
                "operationId": "v1UpdateSupplierContact",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Supplier contact id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    },
                    {
                        "name": "supplierId",
                        "in": "path",
                        "description": "Id to the SupplierModel the SupplierContact belongs to.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "Each supplier may have zero, one or more SupplierContacts.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Name of the supplier contact.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "phoneNo": {
                                        "type": "string",
                                        "description": "Phone number to the supplier contact.",
                                        "minLength": 4,
                                        "maxLength": 50,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "emailAddress": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Email address to the supplier contact.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_EMAIL"
                                        ]
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "The job title of the supplier contact.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    }
                                },
                                "required": [
                                    "supplierId",
                                    "name"
                                ],
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_OBJECT",
                                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Supplier\\Supplier\\Model\\RouteV1SupplierContactModel"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Each supplier may have zero, one or more SupplierContacts.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1SupplierContactModel"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "ext"
                ],
                "summary": "Delete supplier contact.",
                "description": "",
                "operationId": "v1DeleteSupplierContact",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Supplier contact id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    },
                    {
                        "name": "supplierId",
                        "in": "path",
                        "description": "Identifier of the Supplier this SupplierContact belongs to.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Null"
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/transaction-attachments\/files": {
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Upload multiple files to the transaction attachments wizard.",
                "description": "The uploaded files will come from external users.",
                "operationId": "v1UploadTransactionAttachment",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "arrayOfTransaction attachment.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfRouteV1TransactionAttachmentModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/transactions": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search transactions.",
                "description": "",
                "operationId": "v1SearchTransactions",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/queryModel.q"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.hits"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.sort"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.fromDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.toDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchTransactionsInputModel.transactionNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchTransactionsInputModel.transactionYear"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchTransactionsInputModel.description"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchTransactionsInputModel.isResetTransaction"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultTransactionSearchOutputModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/transactions-advanced": {
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Operation that will handle the creation\/finish of transaction.",
                "description": "This operation will handle the creation AND the finish of a EXTERNAL transaction.",
                "operationId": "v1MakeAdvancedTransaction",
                "parameters": [],
                "requestBody": {
                    "description": "Model used to create advanced transactions.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "transactionDraftId": {
                                        "type": "integer",
                                        "description": "The id of a transaction draft.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "transactionLinesAdvanced": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "The ID of the transaction line.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "transactionId": {
                                                    "type": "integer",
                                                    "description": "The ID of the transaction this advanced transaction line belongs to.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "date": {
                                                    "type": "string",
                                                    "format": "date",
                                                    "description": "Date this advanced transaction line will be accounted in books.",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_DATE"
                                                    ],
                                                    "x-earliest": "1100-01-01",
                                                    "x-latest": "2299-12-31"
                                                },
                                                "dueDate": {
                                                    "type": "string",
                                                    "format": "date",
                                                    "description": "Due date this transaction line will be accounted in books.",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_DATE"
                                                    ],
                                                    "x-earliest": "1100-01-01",
                                                    "x-latest": "2299-12-31"
                                                },
                                                "description": {
                                                    "type": "string",
                                                    "description": "Short description what this advanced transaction line is about.",
                                                    "minLength": 1,
                                                    "maxLength": 500,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "amount": {
                                                    "type": "number",
                                                    "description": "The amount of the advanced transaction line. Amount should include VAT if VAT exists.",
                                                    "maximum": 99999999999.99,
                                                    "minimum": -99999999999.99,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_CURRENCY"
                                                    ]
                                                },
                                                "debitBookkeepingAccountNo": {
                                                    "type": "string",
                                                    "description": "The debit bookkeeping account for this advanced transaction line.",
                                                    "minLength": 4,
                                                    "maxLength": 4,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                                                    ]
                                                },
                                                "debitCustomerId": {
                                                    "type": "integer",
                                                    "description": "The debit customer ledger id, connects this transaction to a customer.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "debitSupplierId": {
                                                    "type": "integer",
                                                    "description": "The debit supplier id, connects this transaction to a supplier.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "debitVatCode": {
                                                    "type": "string",
                                                    "enum": [
                                                        "input.no.vat",
                                                        "input.high",
                                                        "input.high.adjustment",
                                                        "input.high.reversal",
                                                        "input.high.loss",
                                                        "input.medium",
                                                        "input.medium.loss",
                                                        "input.raw.fish",
                                                        "input.low",
                                                        "input.low.loss",
                                                        "input.high.import",
                                                        "input.medium.import",
                                                        "output.high",
                                                        "output.high.withdrawal",
                                                        "output.zero.rate",
                                                        "output.zero.rate.withdrawal",
                                                        "output.exempted",
                                                        "output.exempted.withdrawal",
                                                        "output.no.vat",
                                                        "output.medium",
                                                        "output.medium.withdrawal",
                                                        "output.raw.fish",
                                                        "output.low",
                                                        "output.low.withdrawal",
                                                        "output.reversed.vat",
                                                        "output.export",
                                                        "cost.no.vat",
                                                        "cost.high.basis.import",
                                                        "cost.medium.basis.import",
                                                        "import.goods.high.deductible",
                                                        "import.goods.high.deductible.reversal",
                                                        "import.goods.high.deductible.adjustment",
                                                        "import.goods.high.not.deductible",
                                                        "import.goods.medium.deductible",
                                                        "import.goods.medium.not.deductible",
                                                        "import.goods.zero.rate",
                                                        "import.services.high.deductible",
                                                        "import.services.high.not.deductible",
                                                        "import.services.low.deductible",
                                                        "import.services.low.not.deductible",
                                                        "emission.or.gold.deductible",
                                                        "emission.or.gold.not.deductible"
                                                    ],
                                                    "description": "Contains enums for all the different VAT codes.",
                                                    "default": "input.no.vat",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_CONSTANT",
                                                        "Conta\\Backend\\Deprecated\\TypeConst\\VatCodeTypeConst",
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "debitInvoiceId": {
                                                    "type": "integer",
                                                    "description": "The identifier for the invoice associated with this line as debit.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "debitInvoiceNo": {
                                                    "type": "string",
                                                    "description": "The number of the invoice provided by the supplier to be debited.",
                                                    "minLength": 1,
                                                    "maxLength": 20,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "creditBookkeepingAccountNo": {
                                                    "type": "string",
                                                    "description": "The credit bookkeeping account for this advanced transaction line.",
                                                    "minLength": 4,
                                                    "maxLength": 4,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                                                    ]
                                                },
                                                "creditCustomerId": {
                                                    "type": "integer",
                                                    "description": "Credit customer ledger id, connects this transaction to a customer.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "creditSupplierId": {
                                                    "type": "integer",
                                                    "description": "The credit supplier id, connects this transaction to a supplier.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "creditVatCode": {
                                                    "type": "string",
                                                    "enum": [
                                                        "input.no.vat",
                                                        "input.high",
                                                        "input.high.adjustment",
                                                        "input.high.reversal",
                                                        "input.high.loss",
                                                        "input.medium",
                                                        "input.medium.loss",
                                                        "input.raw.fish",
                                                        "input.low",
                                                        "input.low.loss",
                                                        "input.high.import",
                                                        "input.medium.import",
                                                        "output.high",
                                                        "output.high.withdrawal",
                                                        "output.zero.rate",
                                                        "output.zero.rate.withdrawal",
                                                        "output.exempted",
                                                        "output.exempted.withdrawal",
                                                        "output.no.vat",
                                                        "output.medium",
                                                        "output.medium.withdrawal",
                                                        "output.raw.fish",
                                                        "output.low",
                                                        "output.low.withdrawal",
                                                        "output.reversed.vat",
                                                        "output.export",
                                                        "cost.no.vat",
                                                        "cost.high.basis.import",
                                                        "cost.medium.basis.import",
                                                        "import.goods.high.deductible",
                                                        "import.goods.high.deductible.reversal",
                                                        "import.goods.high.deductible.adjustment",
                                                        "import.goods.high.not.deductible",
                                                        "import.goods.medium.deductible",
                                                        "import.goods.medium.not.deductible",
                                                        "import.goods.zero.rate",
                                                        "import.services.high.deductible",
                                                        "import.services.high.not.deductible",
                                                        "import.services.low.deductible",
                                                        "import.services.low.not.deductible",
                                                        "emission.or.gold.deductible",
                                                        "emission.or.gold.not.deductible"
                                                    ],
                                                    "description": "Contains enums for all the different VAT codes.",
                                                    "default": "input.no.vat",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_CONSTANT",
                                                        "Conta\\Backend\\Deprecated\\TypeConst\\VatCodeTypeConst",
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "creditInvoiceId": {
                                                    "type": "integer",
                                                    "description": "The identifier for the invoice associated with this line as credit.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "creditInvoiceNo": {
                                                    "type": "string",
                                                    "description": "The number of the invoice provided by the supplier to be credited.",
                                                    "minLength": 1,
                                                    "maxLength": 20,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "departmentId": {
                                                    "type": "integer",
                                                    "description": "ID to the department the transaction line is connected.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "projectId": {
                                                    "type": "integer",
                                                    "description": "Id to the project the transaction line is connected.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "isPartOfPeriodization": {
                                                    "type": "boolean",
                                                    "description": "Check wheather the transactionline is periodized or not.",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_BOOLEAN"
                                                    ]
                                                },
                                                "proportionalVat": {
                                                    "type": "number",
                                                    "description": "The proportional VAT percentage for this line.",
                                                    "maximum": 100,
                                                    "minimum": 0,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "date",
                                                "description",
                                                "amount"
                                            ]
                                        },
                                        "description": "An array of all the TransactionLineAdvanced belonging to this group.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ARRAY",
                                            "ASGARD_TYPE_OBJECT",
                                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1TransactionLineAdvancedModel"
                                        ]
                                    },
                                    "transactionAttachments": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#\/components\/schemas\/RouteV1BookkeepingAttachmentModel"
                                        },
                                        "description": "An array of the file attachments that belongs to this transaction.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ARRAY",
                                            "ASGARD_TYPE_OBJECT",
                                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1BookkeepingAttachmentModel"
                                        ]
                                    },
                                    "transactionNo": {
                                        "type": "integer",
                                        "description": "A number that identifies the transaction. Starts on 1 for each organization, and increases automatically.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "transactionYear": {
                                        "type": "integer",
                                        "description": "The year for the transaction. Mainly used to display information about the transaction.",
                                        "maximum": 9223372036854775807,
                                        "minimum": -9223372036854775808,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "transactionNoYear": {
                                        "type": "string",
                                        "description": "TransactionNo which includes year, e.g. 2-2017. Used to display on frontend and in reports. Unique for each organization.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The official date for the transaction. Mainly used to sort transactions, and as a default of the date of\nTransactionLine. For accounting reports, the date of TransactionLine is used.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATE"
                                        ],
                                        "x-earliest": "1100-01-01",
                                        "x-latest": "2299-12-31"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Short description about what the transaction is.",
                                        "minLength": 1,
                                        "maxLength": 2000,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "lockedStatus": {
                                        "$ref": "#\/components\/schemas\/enumTransactionLockedTypeEnum"
                                    },
                                    "transactionSourceType": {
                                        "type": "string",
                                        "enum": [
                                            "ADVANCED_TRANSACTION",
                                            "BULK_TRANSACTION",
                                            "EHF_RECEIVED",
                                            "EHF_AUTOMATICALLY_PROCESSED",
                                            "REGISTER_BANK_STATEMENT",
                                            "REGISTER_INCOME",
                                            "REGISTER_INITIAL_BALANCE",
                                            "REGISTER_PURCHASE",
                                            "SYSTEM_TRANSACTION",
                                            "CREDIT_CARD_PURCHASE",
                                            "SALARY",
                                            "GBAT10_IMPORT",
                                            "FINSTA",
                                            "PRO_TRANSACTION"
                                        ],
                                        "description": "Contains enums for transaction source types.",
                                        "default": "ADVANCED_TRANSACTION",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ENUM",
                                            "Conta\\Jotunheim\\Enum\\Sql\\TransactionSourceTypeEnum"
                                        ]
                                    },
                                    "invoiceId": {
                                        "type": "integer",
                                        "description": "The ID to the invoice this transaction is connected to. If it's not connected to any invoice,\nthen this number should be null.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "creditNoteId": {
                                        "type": "integer",
                                        "description": "The ID to the credit note this transaction is connected to. If it's not connected to any credit note,\nthen this number should be null.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "resetByTransactionId": {
                                        "type": "integer",
                                        "description": "It is forbidden to delete a transaction. If a user has done something wrong,\nhe must create a reset transaction. If this transaction is reset by another transaction,\nthen the other transactionId is saved as resetByTransactionId.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "transactionRevisionNo": {
                                        "type": "integer",
                                        "description": "Inditicates at which revision the transaction is at.",
                                        "maximum": 255,
                                        "minimum": 0,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "transactionType": {
                                        "type": "string",
                                        "enum": [
                                            "MANUAL_TRANSACTION",
                                            "INCOME_STATEMENT"
                                        ],
                                        "description": "Contains enums that specify the transaction types.",
                                        "default": "MANUAL_TRANSACTION",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ENUM",
                                            "Conta\\Jotunheim\\Enum\\Sql\\TransactionTypeEnum"
                                        ]
                                    },
                                    "isResetTransaction": {
                                        "type": "boolean",
                                        "description": "Flag that indicates if the transaction represents a reset transaction.",
                                        "default": false,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    },
                                    "periodization": {
                                        "$ref": "#\/components\/schemas\/RouteV1PeriodizationModel"
                                    },
                                    "createdAt": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Date when the transaction was created.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATETIME"
                                        ],
                                        "x-earliest": "1100-01-01T00:00:00",
                                        "x-latest": "2299-12-31T23:59:59"
                                    },
                                    "ehfReceivedId": {
                                        "type": "integer",
                                        "description": "The identifier of the ehf document received and is being used to generate a new transaction.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "paymentType": {
                                        "$ref": "#\/components\/schemas\/enumTransactionPaymentTypeEnum"
                                    }
                                },
                                "required": [
                                    "transactionType",
                                    "transactionLinesAdvanced"
                                ],
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_OBJECT",
                                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1MakeTransactionAdvancedInputModel"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Model used to represent different transaction types - Draft, regular transactions and updated transactions.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1TransactionModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/bankAccountReconciledInFutureException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/projectIsClosedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/projectIsNotActiveOnTheDateProvidedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionDiffersDebitAndCreditAmountException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/vatCodeNotAllowedForOrgException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCloseLedgerAmountDifferentThanZeroException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIdDoesNotMatchCustomerIdOnProjectException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/accountingYearIsLockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/atLeastOneLineShouldBeInTheSameYearAsTransactionException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountReconciledForPeriodException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateManualTransactionsUsingInvoicesWithForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateTransactionBeforeStartDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDoesNotBelongToCustomerException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionIsNotBalancedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionLinesAreNotBalancedWithinTheYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/vatPeriodIsAlreadySettledException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountNotActiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIsRequiredForRegisterIncomeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/supplierIsRequiredForRegisterPurchaseException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/transactions-advanced\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read transaction.",
                "description": "",
                "operationId": "v1ReadExtendedTransaction",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Model used to represent different transaction types - Draft, regular transactions and updated transactions.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1TransactionModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/transactions\/{id}": {
            "delete": {
                "tags": [
                    "ext"
                ],
                "summary": "Resets the transaction lines by a manual transaction id of a EXTERNAL transaction.",
                "description": "Since it is forbidden to delete a transaction, when the user does something wrong in a transaction, we need to reset it. In this\noperation, the transaction is reset by duplicating the transaction lines it has, but with inverted amounts.\n\nBe advised that only manual transactions can be reset.",
                "operationId": "v1ResetTransactionByAddingLines",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Null"
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/onlyManualTransactionsCanBeResetByLinesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotLockAccountingYearPreviousYearIsNotClosedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/incomeStatementIsOnlyAllowedForNorwegianEnkOrgsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/orgHasUsedForbiddenBookkeepingAccountsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/regnskapStartDateIsNotSetException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/endDateBeforeStartDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/orgIsNotEnkException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/interestRateForEnkUnknownException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/accountingYearShouldBeLockedInOrderToSavePersonalIncomeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/balanceGroupHasDuplicatedEntriesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/previousYearDataCanOnlyBeSentForFirstYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionAlreadyResetException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/accountingYearIsLockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/atLeastOneLineShouldBeInTheSameYearAsTransactionException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountReconciledForPeriodException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateManualTransactionsUsingInvoicesWithForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateTransactionBeforeStartDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDoesNotBelongToCustomerException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionIsNotBalancedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionLinesAreNotBalancedWithinTheYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/vatPeriodIsAlreadySettledException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountNotActiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIsRequiredForRegisterIncomeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/supplierIsRequiredForRegisterPurchaseException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/vatSettlementIsAlreadyReopenedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/psd2PaymentIsAlreadySentToBeProcessedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionCannotBeUpdatedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionYearCannotBeChangedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotDeleteNonExistingBankAccountTransactionMatchException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotUnmatchTransactionsDueToReconciledPeriodException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bankAccountReconciliationMonthYearMustBeFirstDayOfMonthException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotReopenPostsOfCreditedInvoiceException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotOpenTransactionLinesDueUnbalancedAmountsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/projectIsClosedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/projectIsNotActiveOnTheDateProvidedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIdDoesNotMatchCustomerIdOnProjectException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/organizations\/{opContextOrgId}\/transactions2": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Return transactions and associated transaction lines.",
                "description": "Note that a maximum of 100 transactions is returned per request. Additional transactions can be returned with pagination.",
                "operationId": "v1Read100Transactions",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1Read100TransactionsInputModel.startDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1Read100TransactionsInputModel.endDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1Read100TransactionsInputModel.fromTransactionNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1Read100TransactionsInputModel.toTransactionNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1Read100TransactionsInputModel.transactionId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1Read100TransactionsInputModel.departmentId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1Read100TransactionsInputModel.projectId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1Read100TransactionsInputModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1Read100TransactionsInputModel.recordsPerPage"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultRouteV1TransactionForJournalModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "endDateBeforeStartDateException",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/endDateBeforeStartDateException"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/accounting\/vat\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read VAT by id.",
                "description": "",
                "operationId": "v1ReadVat",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Representation of a VAT type.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1VatModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                }
            ]
        },
        "\/invoice\/account\/settings": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read the user and user's settings.",
                "description": "",
                "operationId": "v1ReadUserRepresentation",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Representation of a user and all its related settings.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1ReadUserRepresentationOutputModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                }
            ]
        },
        "\/invoice\/conta-ehf\/recipients\/{recipientId}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Get information about EHF recipient by the organization number.",
                "description": "",
                "operationId": "v1GetContaEhfRecipientInfo",
                "parameters": [
                    {
                        "name": "recipientId",
                        "in": "path",
                        "description": "Ehf recipient id.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 0,
                            "maxLength": 16777215,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_STRING"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Search result for EHF recipient search.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1GetContaEhfRecipientInfoOutputModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                }
            ]
        },
        "\/invoice\/enhetsregisteret\/search": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search businesses in Enhetsregisteret by partial name or by the org number.",
                "description": "",
                "operationId": "v1SearchEnhetsregisteret",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.q"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.hits"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.sort"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.fromDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.toDate"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultEnhetsregisteretListModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                }
            ]
        },
        "\/invoice\/organizations": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Get organization(s) that user has access to with extra info.",
                "description": "",
                "operationId": "v1GetOrgAccessExtended",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "arrayOfRepresentation of an organization that a user has access to.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfRouteV1OrgUserAccessModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/bank-accounts": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search bank accounts.",
                "description": "",
                "operationId": "v1SearchBankAccounts",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.id"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.swift"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.iban"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.accountNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.name"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.kidAgreementId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.isKidActive"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.bookkeepingAccountNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.hideOnTransactionWizards"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.createdAt"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.kidApplicationStatus"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.ownerType"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.ownerPersonalNumber"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.bankAccountType"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.isArchived"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1BankAccountModel.allowedForInvoicing"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "arrayOfRepresentation of a bank account with a descriptive name.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfRouteV1BankAccountModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/customers": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Searches the active org's customers for the external (v1) API. Free-text `q` matches name, orgNo and email;\noptional modifiedAt date range.",
                "description": "",
                "operationId": "ext_customerExt_search",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Free-text search term.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based result page.",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 0
                    },
                    {
                        "name": "hits",
                        "in": "query",
                        "description": "Results per page (0 = all).",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Comma-separated sort fields, each optionally prefixed with + or -.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "modifiedFromDate",
                        "in": "query",
                        "description": "Only customers modified on or after this date.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "modifiedToDate",
                        "in": "query",
                        "description": "Only customers modified on or before this date.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paged customer search result for the external (v1) API (mirrors the legacy RouteV1QueryResultModel envelope).",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/CustomerExtSearchResponse"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Create new customer.",
                "description": "This operation will create a customer under org.",
                "operationId": "v1CreateCustomer",
                "parameters": [],
                "requestBody": {
                    "description": "Customer for organization.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Customer id.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "contacts": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#\/components\/schemas\/RouteV1CustomerContactModel"
                                        },
                                        "description": "Contacts related to the customer.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ARRAY",
                                            "ASGARD_TYPE_OBJECT",
                                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Customer\\Model\\RouteV1CustomerContactModel"
                                        ]
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Name of the Customer. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 255,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerType": {
                                        "$ref": "#\/components\/schemas\/enumCustomerTypeEnum"
                                    },
                                    "orgNo": {
                                        "type": "string",
                                        "description": "The organization number to the customer. A string between 6 and 50 characters.",
                                        "minLength": 0,
                                        "maxLength": 50,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "phoneNo": {
                                        "type": "string",
                                        "description": "Phone number to the customer. A string between 5 and 200 characters.",
                                        "minLength": 4,
                                        "maxLength": 50,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "emailAddress": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Email address to the customer. Must be a valid email address.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_EMAIL"
                                        ]
                                    },
                                    "dateOfBirth": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Date of birth (Used if the customer is a person). A string between 6 and 50 characters.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATE"
                                        ],
                                        "x-earliest": "1100-01-01",
                                        "x-latest": "2299-12-31"
                                    },
                                    "parentCompanyNameForNuf": {
                                        "type": "string",
                                        "description": "Name of the parent company of the Nuf (Only applicable if company is a Nuf).",
                                        "minLength": 1,
                                        "maxLength": 300,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "daysUntilPaymentReminder": {
                                        "type": "integer",
                                        "description": "The default number of days from an invoice is created to the due date.",
                                        "maximum": 365,
                                        "minimum": 0,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "daysUntilEstimateOverdue": {
                                        "type": "integer",
                                        "description": "The default number of days from a sale document to be added on the due date.",
                                        "maximum": 365,
                                        "minimum": 0,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "defaultInvoiceDiscount": {
                                        "type": "number",
                                        "description": "The default discount percentage for invoices to this customer.",
                                        "maximum": 100,
                                        "minimum": 0,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_FLOAT"
                                        ]
                                    },
                                    "customerAddressLine1": {
                                        "type": "string",
                                        "description": "Primary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerAddressLine2": {
                                        "type": "string",
                                        "description": "Secondary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerAddressPostcode": {
                                        "type": "string",
                                        "description": "The postcode for the customer. A string between 3 and 50 characters.",
                                        "minLength": 1,
                                        "maxLength": 20,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerAddressCity": {
                                        "type": "string",
                                        "description": "The name of the city the customer resides in. A string between 1 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerAddressCountry": {
                                        "type": "string",
                                        "description": "The name of the country the customer resides in. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressLine1": {
                                        "type": "string",
                                        "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressLine2": {
                                        "type": "string",
                                        "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressPostcode": {
                                        "type": "string",
                                        "description": "The postcode of the mailing address. A string between 3 and 50 characters.",
                                        "minLength": 1,
                                        "maxLength": 20,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressCity": {
                                        "type": "string",
                                        "description": "The name of the city of the mailing address. A string between 1 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressCountry": {
                                        "type": "string",
                                        "description": "The name of the country for the mailing address. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressLine1": {
                                        "type": "string",
                                        "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressLine2": {
                                        "type": "string",
                                        "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressPostcode": {
                                        "type": "string",
                                        "description": "The postcode for the delivery address. A string between 3 and 50 characters.",
                                        "minLength": 1,
                                        "maxLength": 20,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressCity": {
                                        "type": "string",
                                        "description": "The name of the city of the delivery address. A string between 1 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressCountry": {
                                        "type": "string",
                                        "description": "The name of the country for the mailing address. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "vismaNo": {
                                        "type": "integer",
                                        "description": "Identification number for this customer in the Visma (Relevant for any user exporting the data to the visma format).",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "invoiceDeliveryMethod": {
                                        "$ref": "#\/components\/schemas\/enumDeliveryMethodTypeEnum"
                                    },
                                    "isArchived": {
                                        "type": "boolean",
                                        "description": "Whether this customer is archived.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    },
                                    "isActive": {
                                        "type": "boolean",
                                        "description": "No description exists for this property",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    },
                                    "efakturaName": {
                                        "type": "string",
                                        "description": "Name of the Customer to use for eFaktura.",
                                        "minLength": 1,
                                        "maxLength": 255,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "efakturaPhoneNo": {
                                        "type": "string",
                                        "description": "Phone number of the customer to use for eFaktura.",
                                        "minLength": 8,
                                        "maxLength": 15,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "efakturaEmailAddress": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Email address of the customer to use for eFaktura.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_EMAIL"
                                        ]
                                    },
                                    "ehfRecipientOrgNo": {
                                        "type": "string",
                                        "description": "Ehf recipient organization number, used to have a different ehf recipient from customer's organization number.",
                                        "minLength": 6,
                                        "maxLength": 50,
                                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ORG_NO"
                                        ]
                                    }
                                },
                                "required": [
                                    "name",
                                    "customerType",
                                    "customerAddressLine1",
                                    "customerAddressPostcode",
                                    "customerAddressCity"
                                ],
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_OBJECT",
                                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Customer\\Model\\RouteV1CustomerModel"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Customer for organization.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1CustomerModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/customerMoreThanTenEmailCopyRecipientsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/orgCannotReceiveEhfException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/customers\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Get customer by id.",
                "description": "Get customer by id.",
                "operationId": "v1GetCustomer",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Customer for organization.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1CustomerModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "ext"
                ],
                "summary": "External operation to update customer.",
                "description": "This operation will update a customer under org.",
                "operationId": "v1UpdateCustomer",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Customer id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "Customer for organization.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "contacts": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#\/components\/schemas\/RouteV1CustomerContactModel"
                                        },
                                        "description": "Contacts related to the customer.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ARRAY",
                                            "ASGARD_TYPE_OBJECT",
                                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Customer\\Model\\RouteV1CustomerContactModel"
                                        ]
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Name of the Customer. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 255,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerType": {
                                        "$ref": "#\/components\/schemas\/enumCustomerTypeEnum"
                                    },
                                    "orgNo": {
                                        "type": "string",
                                        "description": "The organization number to the customer. A string between 6 and 50 characters.",
                                        "minLength": 0,
                                        "maxLength": 50,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "phoneNo": {
                                        "type": "string",
                                        "description": "Phone number to the customer. A string between 5 and 200 characters.",
                                        "minLength": 4,
                                        "maxLength": 50,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "emailAddress": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Email address to the customer. Must be a valid email address.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_EMAIL"
                                        ]
                                    },
                                    "dateOfBirth": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Date of birth (Used if the customer is a person). A string between 6 and 50 characters.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATE"
                                        ],
                                        "x-earliest": "1100-01-01",
                                        "x-latest": "2299-12-31"
                                    },
                                    "parentCompanyNameForNuf": {
                                        "type": "string",
                                        "description": "Name of the parent company of the Nuf (Only applicable if company is a Nuf).",
                                        "minLength": 1,
                                        "maxLength": 300,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "daysUntilPaymentReminder": {
                                        "type": "integer",
                                        "description": "The default number of days from an invoice is created to the due date.",
                                        "maximum": 365,
                                        "minimum": 0,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "daysUntilEstimateOverdue": {
                                        "type": "integer",
                                        "description": "The default number of days from a sale document to be added on the due date.",
                                        "maximum": 365,
                                        "minimum": 0,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "defaultInvoiceDiscount": {
                                        "type": "number",
                                        "description": "The default discount percentage for invoices to this customer.",
                                        "maximum": 100,
                                        "minimum": 0,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_FLOAT"
                                        ]
                                    },
                                    "customerAddressLine1": {
                                        "type": "string",
                                        "description": "Primary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerAddressLine2": {
                                        "type": "string",
                                        "description": "Secondary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerAddressPostcode": {
                                        "type": "string",
                                        "description": "The postcode for the customer. A string between 3 and 50 characters.",
                                        "minLength": 1,
                                        "maxLength": 20,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerAddressCity": {
                                        "type": "string",
                                        "description": "The name of the city the customer resides in. A string between 1 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerAddressCountry": {
                                        "type": "string",
                                        "description": "The name of the country the customer resides in. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressLine1": {
                                        "type": "string",
                                        "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressLine2": {
                                        "type": "string",
                                        "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressPostcode": {
                                        "type": "string",
                                        "description": "The postcode of the mailing address. A string between 3 and 50 characters.",
                                        "minLength": 1,
                                        "maxLength": 20,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressCity": {
                                        "type": "string",
                                        "description": "The name of the city of the mailing address. A string between 1 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "mailingAddressCountry": {
                                        "type": "string",
                                        "description": "The name of the country for the mailing address. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressLine1": {
                                        "type": "string",
                                        "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressLine2": {
                                        "type": "string",
                                        "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressPostcode": {
                                        "type": "string",
                                        "description": "The postcode for the delivery address. A string between 3 and 50 characters.",
                                        "minLength": 1,
                                        "maxLength": 20,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressCity": {
                                        "type": "string",
                                        "description": "The name of the city of the delivery address. A string between 1 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryAddressCountry": {
                                        "type": "string",
                                        "description": "The name of the country for the mailing address. A string between 2 and 200 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "vismaNo": {
                                        "type": "integer",
                                        "description": "Identification number for this customer in the Visma (Relevant for any user exporting the data to the visma format).",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "invoiceDeliveryMethod": {
                                        "$ref": "#\/components\/schemas\/enumDeliveryMethodTypeEnum"
                                    },
                                    "isArchived": {
                                        "type": "boolean",
                                        "description": "Whether this customer is archived.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    },
                                    "isActive": {
                                        "type": "boolean",
                                        "description": "No description exists for this property",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    },
                                    "efakturaName": {
                                        "type": "string",
                                        "description": "Name of the Customer to use for eFaktura.",
                                        "minLength": 1,
                                        "maxLength": 255,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "efakturaPhoneNo": {
                                        "type": "string",
                                        "description": "Phone number of the customer to use for eFaktura.",
                                        "minLength": 8,
                                        "maxLength": 15,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "efakturaEmailAddress": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Email address of the customer to use for eFaktura.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_EMAIL"
                                        ]
                                    },
                                    "ehfRecipientOrgNo": {
                                        "type": "string",
                                        "description": "Ehf recipient organization number, used to have a different ehf recipient from customer's organization number.",
                                        "minLength": 6,
                                        "maxLength": 50,
                                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ORG_NO"
                                        ]
                                    }
                                },
                                "required": [
                                    "name",
                                    "customerType",
                                    "customerAddressLine1",
                                    "customerAddressPostcode",
                                    "customerAddressCity"
                                ],
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_OBJECT",
                                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Customer\\Model\\RouteV1CustomerModel"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Customer for organization.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1CustomerModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/customerMoreThanTenEmailCopyRecipientsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/orgCannotReceiveEhfException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/departments": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Searches the active org's departments for the external (v1) API. Free-text `q` matches name and contact person.",
                "description": "Archived departments are included. The external contract predates archiving and exposes no way to opt out, so\nALL is passed explicitly rather than inheriting the input Dto's exclude-archived default, which would silently\nstart dropping rows from integrators' result sets.",
                "operationId": "ext_departmentExt_search",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Free-text search term.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based result page.",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 0
                    },
                    {
                        "name": "hits",
                        "in": "query",
                        "description": "Results per page (0 = all).",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Comma-separated sort fields, each optionally prefixed with + or -.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paged department search result for the external (v1) API (mirrors the legacy RouteV1QueryResultModel envelope).",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/DepartmentExtSearchResponse"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Handles the creation of an external department based on the provided payload.",
                "description": "",
                "operationId": "ext_departmentExt_create",
                "parameters": [],
                "requestBody": {
                    "description": "Data transfer object containing the necessary information to create an\nexternal department.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/DepartmentExtCreateRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Controller input Dto for creating a Department via REST.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/DepartmentExtCreateResponse"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/departments\/temporary-logos": {
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Uploads and processes logo files for a department, saving them to temporary storage.",
                "description": "",
                "operationId": "ext_departmentExt_uploadTempLogo",
                "parameters": [],
                "requestBody": {
                    "description": "Max allowed size: 20MB<br>",
                    "content": {
                        "image\/gif": {
                            "schema": {
                                "type": "string",
                                "format": "binary",
                                "maximum": 20971520
                            }
                        },
                        "image\/jpeg": {
                            "schema": {
                                "type": "string",
                                "format": "binary",
                                "maximum": 20971520
                            }
                        },
                        "image\/pjpeg": {
                            "schema": {
                                "type": "string",
                                "format": "binary",
                                "maximum": 20971520
                            }
                        },
                        "image\/png": {
                            "schema": {
                                "type": "string",
                                "format": "binary",
                                "maximum": 20971520
                            }
                        },
                        "image\/x-png": {
                            "schema": {
                                "type": "string",
                                "format": "binary",
                                "maximum": 20971520
                            }
                        },
                        "image\/tiff": {
                            "schema": {
                                "type": "string",
                                "format": "binary",
                                "maximum": 20971520
                            }
                        },
                        "image\/webp": {
                            "schema": {
                                "type": "string",
                                "format": "binary",
                                "maximum": 20971520
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "An array containing metadata of the uploaded files.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfTemporaryFileLink"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/departments\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read a department.",
                "description": "",
                "operationId": "v1GetDepartment",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Department that belongs to an organization.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1DepartmentModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "ext"
                ],
                "summary": "Update an existing department.",
                "description": "",
                "operationId": "v1UpdateDepartment",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Department id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "Department that belongs to an organization.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/RouteV1DepartmentModel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Department that belongs to an organization.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1DepartmentModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/files\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Get file info for download.",
                "description": "",
                "operationId": "v1GetFileTemporaryUrlLink",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier for the file.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Temporary link to a file on the file server.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1TemporaryFileInfoLinkModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoice-drafts": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "List and search invoice drafts.",
                "description": "",
                "operationId": "v1SearchInvoiceDrafts",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/queryModel.q"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.hits"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.sort"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.fromDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.toDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceDraftInputModel.type"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceDraftInputModel.customerId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceDraftInputModel.departmentId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceDraftInputModel.projectId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceDraftInputModel.invoiceCurrency"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceDraftInputModel.includeCreatedAt"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceDraftInputModel.includeCreatedByIp"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultInvoiceListExtendedInfoModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/customerNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/departmentNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/projectNotFoundException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "This operation will create an invoice draft.",
                "description": "This API to create an invoice draft from external system. Converts the given VAT codes to our internal codes.",
                "operationId": "v1MakeInvoiceDraft",
                "parameters": [],
                "requestBody": {
                    "description": "Model that contains all details about an invoice draft, to be used by external operations.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Invoice draft Id.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "invoiceDraftLines": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "Invoice draft line Id.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "productId": {
                                                    "type": "integer",
                                                    "description": "Id to the product associated with this invoice line.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "description": {
                                                    "type": "string",
                                                    "description": "Description of the invoice line, appears on the PDF.",
                                                    "minLength": 1,
                                                    "maxLength": 500,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "price": {
                                                    "type": "number",
                                                    "description": "The price ex. VAT per unit for the invoice line. Price in NOK.",
                                                    "maximum": 1.7976931348623157e+308,
                                                    "minimum": -1.7976931348623157e+308,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "quantity": {
                                                    "type": "number",
                                                    "description": "The quantity of units on this invoice line.",
                                                    "maximum": 1.7976931348623157e+308,
                                                    "minimum": -1.7976931348623157e+308,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "discount": {
                                                    "type": "number",
                                                    "description": "Discount for the invoice line. In percent.",
                                                    "maximum": 100,
                                                    "minimum": 0,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "sumDiscount": {
                                                    "type": "number",
                                                    "description": "Discount for the invoice line. In NOK.",
                                                    "maximum": 1.7976931348623157e+308,
                                                    "minimum": -1.7976931348623157e+308,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "sumNet": {
                                                    "type": "number",
                                                    "description": "The total net sum for this invoice line. (Net means without VAT).",
                                                    "maximum": 1.7976931348623157e+308,
                                                    "minimum": -1.7976931348623157e+308,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "vatCode": {
                                                    "$ref": "#\/components\/schemas\/enumRouteV1VatCodeTypeConst"
                                                },
                                                "lineNo": {
                                                    "type": "integer",
                                                    "description": "Where in the order this invoice line appears on the invoice. First invoice line has number 1,\nthe second number 2, and so on.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "invoiceDraftId": {
                                                    "type": "integer",
                                                    "description": "Id to the invoice this invoice line belongs to.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "description",
                                                "vatCode",
                                                "discount",
                                                "price",
                                                "quantity"
                                            ]
                                        },
                                        "description": "An array of all the InvoiceLines belonging to the Invoice.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ARRAY",
                                            "ASGARD_TYPE_OBJECT",
                                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\InvoiceDraft\\Model\\RouteV1InvoiceDraftLineModel"
                                        ]
                                    },
                                    "sumVAT": {
                                        "type": "number",
                                        "description": "The total VAT for the invoice.",
                                        "maximum": 99999999999.99,
                                        "minimum": -99999999999.99,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_CURRENCY"
                                        ]
                                    },
                                    "attachmentFileId": {
                                        "type": "integer",
                                        "description": "The id for the file reference for the uploaded attachment file.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "NORMAL",
                                            "CASH",
                                            "CREDIT"
                                        ],
                                        "description": "Contains enums for invoice types.",
                                        "default": "NORMAL",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ENUM",
                                            "Conta\\Jotunheim\\Enum\\Sql\\InvoiceTypeEnum"
                                        ]
                                    },
                                    "departmentId": {
                                        "type": "integer",
                                        "description": "Identifier of the department the invoice belongs to.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "projectId": {
                                        "type": "integer",
                                        "description": "Id to the project the invoice belongs to.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "customerId": {
                                        "type": "integer",
                                        "description": "Id to the customer the invoice belongs to.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "customerGroupId": {
                                        "type": "integer",
                                        "description": "Id to the customer group in case of mass invoice.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "invoiceLanguage": {
                                        "type": "string",
                                        "enum": [
                                            "NO",
                                            "EN"
                                        ],
                                        "description": "Contains enums for the supported languages.",
                                        "default": "NO"
                                    },
                                    "invoiceCurrency": {
                                        "type": "string",
                                        "description": "Which currency was the invoice created in. Defaults to NOK.",
                                        "default": "NOK",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "exchangeRate": {
                                        "type": "number",
                                        "description": "The exchange rate used in the invoice.",
                                        "default": 1,
                                        "maximum": 1.7976931348623157e+308,
                                        "minimum": 0,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_FLOAT"
                                        ]
                                    },
                                    "exchangeRateReferenceDate": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The date the exchange rate was obtained.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATE"
                                        ],
                                        "x-earliest": "1100-01-01",
                                        "x-latest": "2299-12-31"
                                    },
                                    "personalMessage": {
                                        "type": "string",
                                        "description": "Personal message that appears on the invoice PDF.",
                                        "minLength": 1,
                                        "maxLength": 300,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerReference": {
                                        "type": "string",
                                        "description": "Text on the PDF that represents the customer reference.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerReferenceContactId": {
                                        "type": "integer",
                                        "description": "Identifier of the customer contact whose name exactly matches the draft's customer reference, or null.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "saleId": {
                                        "type": "integer",
                                        "description": "If the invoice was created for a sale, it will be connected to a sale id.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "registrationSource": {
                                        "type": "string",
                                        "enum": [
                                            "CONTA",
                                            "TIMERABBIT"
                                        ],
                                        "description": "Contains enums for invoice registration source.",
                                        "default": "CONTA",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ENUM",
                                            "Conta\\Jotunheim\\Enum\\Sql\\InvoiceDraftRegistrationSourceEnum"
                                        ]
                                    }
                                },
                                "required": [
                                    "registrationSource"
                                ],
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_OBJECT",
                                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\InvoiceDraft\\Model\\RouteV1InvoiceDraftModel"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Model that contains all details about an invoice draft, to be used by external operations.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1InvoiceDraftModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDraftCreatedWithAttachmentException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/wrongInvoiceLinesNumberingException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/wrongVatCodeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/creditNoteSumTotalCanNotBePositiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIdDoesNotMatchCustomerIdOnProjectException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceSumTotalCanNotBeNegativeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceSumTotalOutOfRangeException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoice-drafts\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read an invoice draft.",
                "description": "",
                "operationId": "v1ReadInvoiceDraft",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Model that contains all details about an invoice draft, to be used by external operations.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1InvoiceDraftModel"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "ext"
                ],
                "summary": "Delete an invoice draft.",
                "description": "",
                "operationId": "v1DeleteInvoiceDraft",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Null"
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoice-payments": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search invoice payments across all invoices.",
                "description": "",
                "operationId": "v1SearchAllInvoicePayments",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.q"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.hits"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.sort"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.fromDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.toDate"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultInvoicePaymentListModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search for invoices with extra information.",
                "description": "Searches for and returns a list of matching invoices. Compared to SearchInvoicesOp, this operation returns some extra information\nabout the invoice and the customer.",
                "operationId": "v1SearchInvoicesExtended",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/queryModel.q"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.hits"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.sort"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.fromDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/queryModel.toDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.type"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.customerId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.departmentId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.projectId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.isCreatedInOtherSystem"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.invoiceNo"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.invoiceCurrency"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.includeCreatedAt"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.includeCreatedByIp"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1SearchInvoiceInputModel.kraviaInvoiceStatuses"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultInvoiceListExtendedModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/customerNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/departmentNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/projectNotFoundException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "This operation will create an invoice.",
                "description": "NB! If invoiceId is set to the id of an invoice draft, then the draft is deleted.",
                "operationId": "v1MakeInvoice",
                "parameters": [],
                "requestBody": {
                    "description": "Model that contains all details about an invoice, except for the invoice lines.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Invoice id.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "invoiceLines": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "Invoice line id.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "productId": {
                                                    "type": "integer",
                                                    "description": "Id to the product associated with this invoice line.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "description": {
                                                    "type": "string",
                                                    "description": "Description of the invoice line, appears on the PDF.",
                                                    "minLength": 1,
                                                    "maxLength": 500,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "price": {
                                                    "type": "number",
                                                    "description": "The price ex. VAT per unit for the invoice line. Price in NOK.",
                                                    "maximum": 1.7976931348623157e+308,
                                                    "minimum": -1.7976931348623157e+308,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "quantity": {
                                                    "type": "number",
                                                    "description": "The quantity of units on this invoice line.",
                                                    "maximum": 1.7976931348623157e+308,
                                                    "minimum": -1.7976931348623157e+308,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "discount": {
                                                    "type": "number",
                                                    "description": "Discount for the invoice line. In percent.",
                                                    "maximum": 100,
                                                    "minimum": 0,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "sumDiscount": {
                                                    "type": "number",
                                                    "description": "Discount for the invoice line. In NOK.",
                                                    "maximum": 1.7976931348623157e+308,
                                                    "minimum": -1.7976931348623157e+308,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "sumNet": {
                                                    "type": "number",
                                                    "description": "The total net sum for this invoice line. (Net means without VAT).",
                                                    "maximum": 1.7976931348623157e+308,
                                                    "minimum": -1.7976931348623157e+308,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_FLOAT"
                                                    ]
                                                },
                                                "vatCode": {
                                                    "$ref": "#\/components\/schemas\/enumRouteV1VatCodeTypeConst"
                                                },
                                                "lineNo": {
                                                    "type": "integer",
                                                    "description": "Where in the order this invoice line appears on the invoice. First invoice line has number 1,\nthe second number 2, and so on.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                }
                                            },
                                            "required": [
                                                "description",
                                                "vatCode",
                                                "discount",
                                                "price",
                                                "quantity"
                                            ]
                                        },
                                        "description": "An array of all the InvoiceLines belonging to the Invoice.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ARRAY",
                                            "ASGARD_TYPE_OBJECT",
                                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceLineModel"
                                        ]
                                    },
                                    "invoiceVatInfos": {
                                        "type": "array",
                                        "items": {
                                            "$ref": "#\/components\/schemas\/RouteV1InvoiceVatInfoModel"
                                        },
                                        "description": "An array with information about all the vat types used on this invoice.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ARRAY",
                                            "ASGARD_TYPE_OBJECT",
                                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceVatInfoModel"
                                        ]
                                    },
                                    "invoiceRecipients": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "id": {
                                                    "type": "integer",
                                                    "description": "Invoice recipient id.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "invoiceId": {
                                                    "type": "integer",
                                                    "description": "Id to the invoice this recipient line belongs to.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "type": {
                                                    "$ref": "#\/components\/schemas\/enumDeliveryMethodTypeEnum"
                                                },
                                                "emailAddress": {
                                                    "type": "string",
                                                    "format": "email",
                                                    "description": "Email address to send invoice to.",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_EMAIL"
                                                    ]
                                                },
                                                "emailRecipientType": {
                                                    "type": "string",
                                                    "enum": [
                                                        "EMAIL_TO",
                                                        "EMAIL_CC",
                                                        "EMAIL_BCC",
                                                        "NOT_EMAIL",
                                                        ""
                                                    ],
                                                    "description": "Contains enums for recipients.",
                                                    "default": "NOT_EMAIL",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_ENUM",
                                                        "Conta\\Jotunheim\\Enum\\Sql\\EmailRecipientTypeEnum"
                                                    ]
                                                },
                                                "emailSubject": {
                                                    "type": "string",
                                                    "description": "Email subject.",
                                                    "minLength": 1,
                                                    "maxLength": 255,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "emailContent": {
                                                    "type": "string",
                                                    "description": "Email message.",
                                                    "minLength": 1,
                                                    "maxLength": 65535,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "includeInvoiceInfo": {
                                                    "type": "boolean",
                                                    "description": "Include invoice info in email.",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_BOOLEAN"
                                                    ]
                                                },
                                                "includeInvoiceAttachment": {
                                                    "type": "boolean",
                                                    "description": "Include the invoice attachment file as an attachment.",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_BOOLEAN"
                                                    ]
                                                },
                                                "includeDefaultAttachment": {
                                                    "type": "boolean",
                                                    "description": "Include the default invoice attachment file as an attachment.",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_BOOLEAN"
                                                    ]
                                                },
                                                "ehfRecipient": {
                                                    "type": "string",
                                                    "description": "EHF recipient (organization number).",
                                                    "minLength": 6,
                                                    "maxLength": 50,
                                                    "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_ORG_NO"
                                                    ]
                                                },
                                                "phoneNo": {
                                                    "type": "string",
                                                    "description": "Phone number of the invoice reipient.",
                                                    "minLength": 4,
                                                    "maxLength": 50,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Recipient name.",
                                                    "minLength": 1,
                                                    "maxLength": 255,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "customerId": {
                                                    "type": "integer",
                                                    "description": "Private recipient id.",
                                                    "maximum": 9223372036854775807,
                                                    "minimum": 1,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_INTEGER"
                                                    ]
                                                },
                                                "mailAddressLine1": {
                                                    "type": "string",
                                                    "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                                    "minLength": 1,
                                                    "maxLength": 100,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "mailAddressLine2": {
                                                    "type": "string",
                                                    "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                                                    "minLength": 1,
                                                    "maxLength": 100,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "mailAddressPostcode": {
                                                    "type": "string",
                                                    "description": "The postcode of the mailing address. A string between 3 and 50 characters.",
                                                    "minLength": 1,
                                                    "maxLength": 20,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "mailAddressCity": {
                                                    "type": "string",
                                                    "description": "The name of the city of the mailing address. A string between 1 and 200 characters.",
                                                    "minLength": 1,
                                                    "maxLength": 100,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                },
                                                "mailAddressCountryCode": {
                                                    "type": "string",
                                                    "description": "The code of the country for the mailing address. It must be exactly two characters.",
                                                    "minLength": 2,
                                                    "maxLength": 2,
                                                    "x-asgard-datatype": [
                                                        "ASGARD_TYPE_STRING"
                                                    ]
                                                }
                                            }
                                        },
                                        "description": "Methods to use when sending invoice.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ARRAY",
                                            "ASGARD_TYPE_OBJECT",
                                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceRecipientModel"
                                        ]
                                    },
                                    "invoiceRepeat": {
                                        "$ref": "#\/components\/schemas\/RouteV1InvoiceRepeatModel"
                                    },
                                    "invoiceNo": {
                                        "type": "integer",
                                        "description": "Invoice number is used to identify the invoice. By law it's unique per organization per year. It's a number\nthat the system automatically sets, and it's not modifiable.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "invoiceDate": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The date the invoice was made.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATE"
                                        ],
                                        "x-earliest": "1100-01-01",
                                        "x-latest": "2299-12-31"
                                    },
                                    "invoiceDueDate": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The due date for the invoice.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATE"
                                        ],
                                        "x-earliest": "1100-01-01",
                                        "x-latest": "2299-12-31"
                                    },
                                    "invoiceFileId": {
                                        "type": "integer",
                                        "description": "The id for the file reference for the uploaded invoice file.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "attachmentFileId": {
                                        "type": "integer",
                                        "description": "The id for the file reference for the uploaded attachment file.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "status": {
                                        "$ref": "#\/components\/schemas\/enumInvoiceStatusEnum"
                                    },
                                    "type": {
                                        "type": "string",
                                        "enum": [
                                            "NORMAL",
                                            "CASH",
                                            "CREDIT"
                                        ],
                                        "description": "Contains enums for invoice types.",
                                        "default": "NORMAL",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ENUM",
                                            "Conta\\Jotunheim\\Enum\\Sql\\InvoiceTypeEnum"
                                        ]
                                    },
                                    "departmentId": {
                                        "type": "integer",
                                        "description": "Identifier of the department the invoice belongs to.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "projectId": {
                                        "type": "integer",
                                        "description": "Id to the project the invoice belongs to.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "customerId": {
                                        "type": "integer",
                                        "description": "Id to the customer the invoice belongs to.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "invoiceLanguage": {
                                        "type": "string",
                                        "enum": [
                                            "NO",
                                            "EN"
                                        ],
                                        "description": "Contains enums for the supported languages.",
                                        "default": "NO"
                                    },
                                    "invoiceCurrency": {
                                        "type": "string",
                                        "description": "Which currency was the invoice created in. Defaults to NOK.",
                                        "default": "NOK",
                                        "minLength": 3,
                                        "maxLength": 3,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "exchangeRate": {
                                        "type": "number",
                                        "description": "The exchange rate used in the invoice.",
                                        "default": 1,
                                        "maximum": 1.7976931348623157e+308,
                                        "minimum": 0,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_FLOAT"
                                        ]
                                    },
                                    "exchangeRateReferenceDate": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The date the exchange rate was obtained.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATE"
                                        ],
                                        "x-earliest": "1100-01-01",
                                        "x-latest": "2299-12-31"
                                    },
                                    "personalMessage": {
                                        "type": "string",
                                        "description": "Personal message that appears on the invoice PDF.",
                                        "minLength": 1,
                                        "maxLength": 300,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "customerReference": {
                                        "type": "string",
                                        "description": "Text on the PDF that represents the customer reference.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "ehfAdditionalDocumentReference": {
                                        "type": "string",
                                        "description": "Necessary if this invoice is sent by EHF. (Bestillingsnummer).",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "ehfContractDocumentReference": {
                                        "type": "string",
                                        "description": "Necessary if this invoice is sent by EHF. (Kontraktsnummer).",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "ehfOrderReference": {
                                        "type": "string",
                                        "description": "Necessary if this invoice is sent by EHF. (Ordrenummer).",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "isCreatedInOtherSystem": {
                                        "type": "boolean",
                                        "description": "Is this invoice originally created in another system than Conta Faktura.",
                                        "default": false,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    },
                                    "kid": {
                                        "type": "string",
                                        "description": "KID-number on the invoice, makes it possible for automatic registration of payments.",
                                        "minLength": 2,
                                        "maxLength": 35,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryDate": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The delivery date of the products on the invoice.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATE"
                                        ],
                                        "x-earliest": "1100-01-01",
                                        "x-latest": "2299-12-31"
                                    },
                                    "deliveryAddress": {
                                        "type": "string",
                                        "description": "Primary line containing information about the delivery address.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryPostcode": {
                                        "type": "string",
                                        "description": "The postcode for the delivery address.",
                                        "minLength": 1,
                                        "maxLength": 20,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryCity": {
                                        "type": "string",
                                        "description": "The name of the city of the delivery address.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "deliveryCountry": {
                                        "type": "string",
                                        "description": "The name of the country for the delivery address.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "saleId": {
                                        "type": "integer",
                                        "description": "If the invoice was created for a sale, it will be connected to a sale id.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "orgReference": {
                                        "type": "string",
                                        "description": "Text representing the organization reference for this invoice. Displayed on the PDF.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "creditedInvoiceId": {
                                        "type": "integer",
                                        "description": "The invoice id of the invoice that was credited. Used on only credit notes.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "thumbnailFileId": {
                                        "type": "integer",
                                        "description": "The id of the file for the uploaded invoice thumbnail image file.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "parentInvoiceId": {
                                        "type": "integer",
                                        "description": "Identifier for the invoice that originated the repeated invoice.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "showDiscount": {
                                        "type": "boolean",
                                        "description": "Whether to show discount column on the invoice PDF.",
                                        "default": true,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    }
                                },
                                "required": [
                                    "customerId"
                                ],
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_OBJECT",
                                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceModel"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Model that contains all details about an invoice, except for the invoice lines.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1InvoiceModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/notEnoughContaCreditsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/attachmentsTotalSizeTooLargeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/duplicateInvoiceNoAndYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/oldInvoiceCannotBeOlderThanThreeFullCalendarYearsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/oldInvoiceNeedsToUploadFileException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/subscriptionInvoiceLimitException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/subscriptionPlanException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/tooManyCcRecipientsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/orgMustHaveBankAccountException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateRepeatingInvoicesUsingForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/creditNoteSumTotalCanNotBePositiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/dueDateBeforeInvoiceDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/foreignCurrencyInvoiceDateNeedsToBeTodayException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDateCannotBeNullWhenTypeNormalException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceIsMoreThanThreeYearsOldException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceSumTotalCanNotBeNegativeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/onlyNormalInvoicesCanHaveForeignCurrencyException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/recurringCreditNotesCanNotBeCreatedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountNoNotAllowedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDateInPastException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDateIsTodayException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDateMustEqualDeliveryDateWhenRepeatingException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/nextInvoiceNoNotSetException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/unableToCreateKidNoException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceSumTotalOutOfRangeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/accountingYearIsLockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/atLeastOneLineShouldBeInTheSameYearAsTransactionException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountReconciledForPeriodException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateManualTransactionsUsingInvoicesWithForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateTransactionBeforeStartDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDoesNotBelongToCustomerException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionIsNotBalancedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionLinesAreNotBalancedWithinTheYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/vatPeriodIsAlreadySettledException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountNotActiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIsRequiredForRegisterIncomeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/supplierIsRequiredForRegisterPurchaseException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaCanBeUsedForNormalInvoicesOnlyException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaCannotBeUsedAsPaymentReminderException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceEmailSendingBlockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerDoesNotHaveAddressException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/fileTooLargeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invalidIbanException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceNeedsBankAccountToBeSentAsEhfException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceCanNotBeSentTwiceWithin24HoursException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaReceiverDoesNotAutoacceptAgreementsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerCannotReceiveEfakturaException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaAmountMustBeGreaterThanZeroException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaCannotBeOverdueException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaDueDateLaterThanInOneYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaInputValidationWrongBankAccountException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaInputValidationWrongFullNameException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaInputValidationWrongPhoneNoException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaInsufficientDataToIdentifyReceiverException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaIsAlreadySentException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaMuiltipleReceiversFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaReceiverNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceNeedsBankAccountToBeSentAsEfakturaException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/orgCouldNotBeRegisteredAsEfakturaIssuerException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices\/allowed-delivery-methods": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Get the list of allowed delivery methods for the given invoice.",
                "description": "According to the given invoice, build the list of allowed delivery methods.",
                "operationId": "v1GetAllowedDeliveryMethodsForInvoice",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.id"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.invoiceDueDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.sumRemaining"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.type"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.customerId"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.invoiceCurrency"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "arrayOfenum",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfEnumDeliveryMethodTypeEnum"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices\/files": {
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Upload a temporary file to be used later as attachment for new invoice.",
                "description": "",
                "operationId": "v1UploadTempInvoiceAttachmentFile",
                "parameters": [],
                "requestBody": {
                    "description": "Max allowed size: 19MB<br><br>Max allowed files: 100",
                    "content": {
                        "multipart\/form-data": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "x-binary-file": {
                                        "type": "array",
                                        "items": {
                                            "type": "string",
                                            "format": "binary",
                                            "maximum": 19922944,
                                            "x-file-types": [
                                                "application\/pdf"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "arrayOfModel that represents user information about a file that is stored on the file storage.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfRouteV1FileMetaDataModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices\/unpaid": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Get 3 latest unpaid invoices and key figures.",
                "description": "",
                "operationId": "v1GetUnpaidInvoicesAndKeyFigures",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Output model for Unpaid Invoices and Key Figures.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1GetUnpaidInvoicesAndKeyFiguresOutputModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/customerNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/departmentNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/projectNotFoundException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read an invoice.",
                "description": "",
                "operationId": "v1ReadInvoice",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Model that contains all details about an invoice, except for the invoice lines.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1InvoiceModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices\/{id}\/credit-note": {
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Makes a credit note of a full invoice.",
                "description": "Makes a credit note of a full invoice. Note that the invoice can't be partly paid when using this operation. If credit note date is not\nsent in, the date of the original invoice is used.",
                "operationId": "v1CreditFullInvoice",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id of the invoice which should be resent.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "Model used to when creating a credit note of a full invoice.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/RouteV1CreditFullInvoiceInputModel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Model that contains all details about an invoice, except for the invoice lines.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1InvoiceModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/currentInvoiceCannotHaveAnOldCreditNoteException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invalidVatCodeOnTheDateProvidedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/notEnoughContaCreditsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/attachmentsTotalSizeTooLargeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/duplicateInvoiceNoAndYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/oldInvoiceCannotBeOlderThanThreeFullCalendarYearsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/oldInvoiceNeedsToUploadFileException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/subscriptionInvoiceLimitException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/subscriptionPlanException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/tooManyCcRecipientsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/orgMustHaveBankAccountException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateRepeatingInvoicesUsingForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/creditNoteSumTotalCanNotBePositiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/dueDateBeforeInvoiceDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/foreignCurrencyInvoiceDateNeedsToBeTodayException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDateCannotBeNullWhenTypeNormalException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceIsMoreThanThreeYearsOldException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceSumTotalCanNotBeNegativeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/onlyNormalInvoicesCanHaveForeignCurrencyException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/recurringCreditNotesCanNotBeCreatedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountNoNotAllowedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDateInPastException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDateIsTodayException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDateMustEqualDeliveryDateWhenRepeatingException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/nextInvoiceNoNotSetException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/unableToCreateKidNoException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceSumTotalOutOfRangeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/accountingYearIsLockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/atLeastOneLineShouldBeInTheSameYearAsTransactionException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountReconciledForPeriodException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateManualTransactionsUsingInvoicesWithForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateTransactionBeforeStartDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDoesNotBelongToCustomerException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionIsNotBalancedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionLinesAreNotBalancedWithinTheYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/vatPeriodIsAlreadySettledException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountNotActiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIsRequiredForRegisterIncomeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/supplierIsRequiredForRegisterPurchaseException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaCanBeUsedForNormalInvoicesOnlyException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaCannotBeUsedAsPaymentReminderException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceEmailSendingBlockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerDoesNotHaveAddressException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/fileTooLargeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invalidIbanException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceNeedsBankAccountToBeSentAsEhfException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceCanNotBeSentTwiceWithin24HoursException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaReceiverDoesNotAutoacceptAgreementsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerCannotReceiveEfakturaException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaAmountMustBeGreaterThanZeroException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaCannotBeOverdueException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaDueDateLaterThanInOneYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaInputValidationWrongBankAccountException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaInputValidationWrongFullNameException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaInputValidationWrongPhoneNoException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaInsufficientDataToIdentifyReceiverException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaIsAlreadySentException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaMuiltipleReceiversFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/efakturaReceiverNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceNeedsBankAccountToBeSentAsEfakturaException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/orgCouldNotBeRegisteredAsEfakturaIssuerException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionAlreadyResetException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/noPaymentsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionShouldBeRemovedBeforeDeletePaymentException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceIsClosedWithLossException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreditCreditNotesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceCanNotBeCreditedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceHasManualTransactionOnRegnskapException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceHasPaymentsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceOnKraviaHasPaymentsException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceSumRemainingLessThanSumTotalException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices\/{id}\/payments": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Get invoice payments for one invoice.",
                "description": "",
                "operationId": "v1GetInvoicePayments",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "arrayOfRepresentation of a payment.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/arrayOfRouteV1PaymentModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices\/{invoiceId}\/events": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search invoice events for an invoice.",
                "description": "",
                "operationId": "v1SearchInvoiceEvents",
                "parameters": [
                    {
                        "name": "invoiceId",
                        "in": "path",
                        "description": "Invoice id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultInvoiceEventListModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices\/{invoiceId}\/payments": {
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Create single payment for an invoice.",
                "description": "",
                "operationId": "v1CreateSinglePayment",
                "parameters": [
                    {
                        "name": "invoiceId",
                        "in": "path",
                        "description": "The invoice this partial payment belongs to.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "Input model to create a payment for an invoice.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/RouteV1CreateSinglePaymentInputModel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Representation of a payment.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1PaymentModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/notPossibleToRegisterRegularPaymentsForInvoicesWithForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/accountingYearIsLockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/atLeastOneLineShouldBeInTheSameYearAsTransactionException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountReconciledForPeriodException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateManualTransactionsUsingInvoicesWithForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateTransactionBeforeStartDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDoesNotBelongToCustomerException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionIsNotBalancedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionLinesAreNotBalancedWithinTheYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/vatPeriodIsAlreadySettledException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountNotActiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIsRequiredForRegisterIncomeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/supplierIsRequiredForRegisterPurchaseException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/amountGreaterThanRemainingOnInvoiceException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotProcessPaymentInvoiceInForeignCurrencyException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/paymentDateInFutureException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/paymentsFromKraviaCannotBeBeforeInvoiceHasBeenSentToKraviaException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceCanNotBeClosedWithLossException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/invoices\/{invoiceId}\/payments\/foreign-currency": {
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Create a single payment on a foreign currency invoice.",
                "description": "",
                "operationId": "v1CreateSinglePaymentOnForeignCurrencyInvoice",
                "parameters": [
                    {
                        "name": "invoiceId",
                        "in": "path",
                        "description": "The invoice this partial payment belongs to.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "Sub model of a multi payment model.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/RouteV1CreateSinglePaymentOnForeignCurrencyInputModel"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Representation of a payment.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1PaymentModel"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/amountGreaterThanRemainingOnInvoiceException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/accountingYearIsLockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/atLeastOneLineShouldBeInTheSameYearAsTransactionException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountReconciledForPeriodException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateManualTransactionsUsingInvoicesWithForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateTransactionBeforeStartDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDoesNotBelongToCustomerException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionIsNotBalancedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionLinesAreNotBalancedWithinTheYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/vatPeriodIsAlreadySettledException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountNotActiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIsRequiredForRegisterIncomeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/supplierIsRequiredForRegisterPurchaseException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/paymentDateInFutureException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionNotFoundException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/kidTransactionNotProcessedByScriptException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/multiPaymentSumMustBeSameAsKidTransactionSumException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/payments\/{id}": {
            "delete": {
                "tags": [
                    "ext"
                ],
                "summary": "Delete a payment.",
                "description": "",
                "operationId": "v1DeleteSinglePaymentOnInvoice",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Payment id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Null"
                    },
                    "422": {
                        "description": "Custom error",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "oneOf": [
                                        {
                                            "$ref": "#\/components\/schemas\/wrongInvoiceTypeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionAlreadyResetException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/accountingYearIsLockedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/atLeastOneLineShouldBeInTheSameYearAsTransactionException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountReconciledForPeriodException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateManualTransactionsUsingInvoicesWithForeignCurrenciesException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/cannotCreateTransactionBeforeStartDateException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceDoesNotBelongToCustomerException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionIsNotBalancedException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionLinesAreNotBalancedWithinTheYearException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/vatPeriodIsAlreadySettledException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/bookkeepingAccountNotActiveException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/customerIsRequiredForRegisterIncomeException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/supplierIsRequiredForRegisterPurchaseException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/transactionShouldBeRemovedBeforeDeletePaymentException"
                                        },
                                        {
                                            "$ref": "#\/components\/schemas\/invoiceIsClosedWithLossException"
                                        }
                                    ]
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/products": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Search products.",
                "description": "",
                "operationId": "v1SearchProducts",
                "parameters": [
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.q"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.hits"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.page"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.sort"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.fromDate"
                    },
                    {
                        "$ref": "#\/components\/parameters\/routeV1QueryModel.toDate"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Represents the search result. Contains an array with the result and metadata about the search result. E.g. the total hit count.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1QueryResultProductCsListModel"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Create a product.",
                "description": "",
                "operationId": "v1CreateProduct",
                "parameters": [],
                "requestBody": {
                    "description": "A single product.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Description of the product. A string between 2 and 500 characters.",
                                        "minLength": 1,
                                        "maxLength": 500,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "bookkeepingAccountNo": {
                                        "type": "string",
                                        "description": "The bookkeeping account number associated with the product.",
                                        "minLength": 4,
                                        "maxLength": 4,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                                        ]
                                    },
                                    "vatCode": {
                                        "type": "string",
                                        "enum": [
                                            "input.no.vat",
                                            "output.high",
                                            "output.medium",
                                            "output.low",
                                            "output.zero.rate",
                                            "output.exempted",
                                            "output.export"
                                        ],
                                        "description": "The VAT code for the product.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ELEMENT",
                                            [
                                                "input.no.vat",
                                                "output.high",
                                                "output.medium",
                                                "output.low",
                                                "output.zero.rate",
                                                "output.exempted",
                                                "output.export"
                                            ],
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "price": {
                                        "type": "number",
                                        "description": "The price for a unit of the product.",
                                        "default": 0,
                                        "maximum": 1.7976931348623157e+308,
                                        "minimum": -1.7976931348623157e+308,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_FLOAT"
                                        ]
                                    },
                                    "productNo": {
                                        "type": "string",
                                        "description": "The product number for the product. A string no longer than 50 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "isArchived": {
                                        "type": "boolean",
                                        "description": "Whether this product is archived.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    },
                                    "isActive": {
                                        "type": "boolean",
                                        "description": "No description exists for this property",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    }
                                },
                                "required": [
                                    "name",
                                    "vatCode",
                                    "bookkeepingAccountNo"
                                ],
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_OBJECT",
                                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Product\\Product\\Model\\RouteV1CreateProductModel"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "A single product.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1ProductModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/products\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read a single product.",
                "description": "",
                "operationId": "v1ReadProduct",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A single product.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1ProductModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "ext"
                ],
                "summary": "Update a product.",
                "description": "",
                "operationId": "v1UpdateProduct",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Product id.",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "requestBody": {
                    "description": "A single product.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "productImportId": {
                                        "type": "integer",
                                        "description": "The identification of the import operation that generated this product.",
                                        "maximum": 9223372036854775807,
                                        "minimum": 1,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_INTEGER"
                                        ]
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Description of the product. A string between 2 and 500 characters.",
                                        "minLength": 1,
                                        "maxLength": 500,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "bookkeepingAccountNo": {
                                        "type": "string",
                                        "description": "The bookkeeping account number associated with the product.",
                                        "minLength": 4,
                                        "maxLength": 4,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                                        ]
                                    },
                                    "displayIsIncludingVat": {
                                        "type": "boolean",
                                        "description": "Indicates whether the GUI should display the price including vat.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    },
                                    "createdAt": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "The date and time the product was created.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_DATETIME"
                                        ],
                                        "x-earliest": "1100-01-01T00:00:00",
                                        "x-latest": "2299-12-31T23:59:59"
                                    },
                                    "vatCode": {
                                        "type": "string",
                                        "enum": [
                                            "input.no.vat",
                                            "output.high",
                                            "output.medium",
                                            "output.low",
                                            "output.zero.rate",
                                            "output.exempted",
                                            "output.export"
                                        ],
                                        "description": "The VAT code for the product.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_ELEMENT",
                                            [
                                                "input.no.vat",
                                                "output.high",
                                                "output.medium",
                                                "output.low",
                                                "output.zero.rate",
                                                "output.exempted",
                                                "output.export"
                                            ],
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "price": {
                                        "type": "number",
                                        "description": "The price for a unit of the product.",
                                        "maximum": 1.7976931348623157e+308,
                                        "minimum": -1.7976931348623157e+308,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_FLOAT"
                                        ]
                                    },
                                    "productNo": {
                                        "type": "string",
                                        "description": "The product number for the product. A string no longer than 50 characters.",
                                        "minLength": 1,
                                        "maxLength": 100,
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_STRING"
                                        ]
                                    },
                                    "isArchived": {
                                        "type": "boolean",
                                        "description": "Whether this product is archived.",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    },
                                    "isActive": {
                                        "type": "boolean",
                                        "description": "No description exists for this property",
                                        "x-asgard-datatype": [
                                            "ASGARD_TYPE_BOOLEAN"
                                        ]
                                    }
                                },
                                "required": [
                                    "name",
                                    "price",
                                    "vatCode",
                                    "bookkeepingAccountNo",
                                    "displayIsIncludingVat"
                                ],
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_OBJECT",
                                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Product\\Product\\Model\\RouteV1ProductModel"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "A single product.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1ProductModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/projects": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Searches the active org's projects (joined with their customer) for the external (v1) API. Free-text `q` matches\nthe project name, the customer name and id, and the project start \/ end dates. `onlyActive` keeps only\ncurrently-active projects.",
                "description": "",
                "operationId": "ext_projectExt_search",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Free-text search term.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Zero-based result page.",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 0
                    },
                    {
                        "name": "hits",
                        "in": "query",
                        "description": "Results per page (0 = all).",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        },
                        "example": 20
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Comma-separated sort fields, each optionally prefixed with + or -.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "fromDate",
                        "in": "query",
                        "description": "Only projects whose span starts on or after this date.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "toDate",
                        "in": "query",
                        "description": "Only projects whose span ends on or before this date.",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "onlyActive",
                        "in": "query",
                        "description": "Keep only projects currently active.",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Paged project search result for the external (v1) API (mirrors the legacy RouteV1QueryResultModel envelope).",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ProjectExtSearchResponse"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ext"
                ],
                "summary": "Creates a new project belonging to the active organization for the external (v1) API. When the visma number is\nomitted the next available one is assigned; a given visma number must be unused, and when both dates are set the\nend must not be before the start.",
                "description": "",
                "operationId": "ext_projectExt_create",
                "parameters": [],
                "requestBody": {
                    "description": "The project to create.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/ProjectExtCreateRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Response for a project created via the external (v1) REST API.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ProjectExtCreateResponse"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/projects\/{id}": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Getting project by id.",
                "description": "Fetching the project belongs the org and by id.",
                "operationId": "v1GetProject",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "No comments specified",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 9223372036854775807,
                            "minimum": 1,
                            "x-asgard-datatype": [
                                "ASGARD_TYPE_INTEGER"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Representation of a project.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1ProjectModel"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "ext"
                ],
                "summary": "Updates an existing project of the active organization for the external (v1) API. All fields except the visma\nnumber are fully replaced (values omitted are reset to null). When both dates are set the end must not be before\nthe start, and a customer may only be connected when it agrees with the customers of the project's invoices.",
                "description": "",
                "operationId": "ext_projectExt_update",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The project to update.",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "description": "The new project state.",
                    "content": {
                        "application\/json": {
                            "schema": {
                                "$ref": "#\/components\/schemas\/ProjectExtUpdateRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Response for a project updated via the external (v1) REST API.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/ProjectExtUpdateResponse"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/organizations\/{opContextOrgId}\/subscription-plan": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "Read an org subscription plan by its properties.",
                "description": "",
                "operationId": "v1ReadOrgSubscriptionPlan",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Representation of organization subscription.",
                        "content": {
                            "application\/json": {
                                "schema": {
                                    "$ref": "#\/components\/schemas\/RouteV1OrgSubscriptionPlanModel"
                                }
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                },
                {
                    "$ref": "#\/components\/parameters\/opContextOrgId"
                }
            ]
        },
        "\/invoice\/ping": {
            "get": {
                "tags": [
                    "ext"
                ],
                "summary": "An op that simply returns a 200 response for healthcheck.",
                "description": "",
                "operationId": "v1Ping",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "string",
                        "content": {
                            "application\/json": {
                                "type": "string",
                                "minLength": 0,
                                "maxLength": 16777215,
                                "x-asgard-datatype": [
                                    "ASGARD_TYPE_STRING"
                                ]
                            }
                        }
                    }
                }
            },
            "parameters": [
                {
                    "$ref": "#\/components\/parameters\/httpContaApiGatewayKey"
                }
            ]
        }
    },
    "components": {
        "parameters": {
            "externalOrgId": {
                "name": "externalOrgId",
                "in": "path",
                "description": "Tenant id",
                "required": true,
                "schema": {
                    "type": "string"
                }
            },
            "httpContaApiGatewayKey": {
                "name": "apiKey",
                "in": "header",
                "description": "Api gateway key for the request.",
                "required": false,
                "schema": {
                    "type": "string"
                },
                "example": "apiGatewayKey"
            },
            "httpContaLanguage": {
                "name": "conta-language",
                "in": "header",
                "description": "Language for the request.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/enumLanguageEnum"
                },
                "example": "NO"
            },
            "httpForceReadonlyDb": {
                "name": "conta-force-readonly",
                "in": "header",
                "description": "Forces the database to read only mode. Needed for GET requests with body (json) as we can only send these as POST requests.",
                "required": false,
                "schema": {
                    "type": "boolean"
                },
                "example": false
            },
            "opContextOrgId": {
                "name": "opContextOrgId",
                "in": "path",
                "description": "Id of the organization",
                "required": true,
                "schema": {
                    "type": "integer"
                }
            },
            "queryModel.fromDate": {
                "name": "fromDate",
                "in": "query",
                "description": "Filters the createdAt by default, can be changed overriding function getCfgColumnDateToFilter.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "queryModel.hits": {
                "name": "hits",
                "in": "query",
                "description": "The number of results to retrieve per page. Defaults to 20. If the user wants to bring all results, this value should be set to 0.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "queryModel.page": {
                "name": "page",
                "in": "query",
                "description": "The result page to retrieve. Defaults to 0.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "queryModel.q": {
                "name": "q",
                "in": "query",
                "description": "Search term. Matched against all searchable fields.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "queryModel.sort": {
                "name": "sort",
                "in": "query",
                "description": "Sorting options. Comma separated list of field names, prefixed with either + (ascending) or - (descending).",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "queryModel.toDate": {
                "name": "toDate",
                "in": "query",
                "description": "Filters the createdAt by default, can be changed overriding function getCfgColumnDateToFilter.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1AccountingReportInputModel.bookkeepingAccountNos": {
                "name": "bookkeepingAccountNos",
                "in": "query",
                "description": "Array of bookkeeping account numbers that will be detailed in the report.",
                "required": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_ARRAY",
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1AccountingReportInputModel.departmentId": {
                "name": "departmentId",
                "in": "query",
                "description": "Identifier of the department for the report.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1AccountingReportInputModel.detailedCategories": {
                "name": "detailedCategories",
                "in": "query",
                "description": "Array of bookkeeping account categories that will be detailed in the report.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/arrayOfEnumBookkeepingAccountCategoryConst"
                }
            },
            "routeV1AccountingReportInputModel.endDate": {
                "name": "endDate",
                "in": "query",
                "description": "End date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1AccountingReportInputModel.projectId": {
                "name": "projectId",
                "in": "query",
                "description": "Id to the project for the report.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1AccountingReportInputModel.startDate": {
                "name": "startDate",
                "in": "query",
                "description": "Start date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1BankAccountModel.accountNo": {
                "name": "accountNo",
                "in": "query",
                "description": "Bank account number.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 15,
                    "pattern": "^([0-9\\s\\.])+$",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BANK_ACCOUNT_NO"
                    ]
                }
            },
            "routeV1BankAccountModel.allowedForInvoicing": {
                "name": "allowedForInvoicing",
                "in": "query",
                "description": "A flag informing that the bank account is allowed for invoicing (and for PSD2). AllowedForInvoicing = false means that this bank\naccount was not KAR verified.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1BankAccountModel.bankAccountType": {
                "name": "bankAccountType",
                "in": "query",
                "description": "Type of the bank account, if it's a normal or a tax deduction account.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/enumBankAccountTypeEnum"
                }
            },
            "routeV1BankAccountModel.bookkeepingAccountNo": {
                "name": "bookkeepingAccountNo",
                "in": "query",
                "description": "The account number for the bookkeeping account.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 4,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                    ]
                }
            },
            "routeV1BankAccountModel.createdAt": {
                "name": "createdAt",
                "in": "query",
                "description": "Date and time when this bank account was registered in the system.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date-time",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATETIME"
                    ],
                    "x-earliest": "1100-01-01T00:00:00",
                    "x-latest": "2299-12-31T23:59:59"
                }
            },
            "routeV1BankAccountModel.hideOnTransactionWizards": {
                "name": "hideOnTransactionWizards",
                "in": "query",
                "description": "Flag indicating that the bank account should be hidden from the transaction wizards.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1BankAccountModel.iban": {
                "name": "iban",
                "in": "query",
                "description": "Iban is the european bank account series, which it's used for receiving transfers from Europe.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 14,
                    "maxLength": 34,
                    "pattern": "^(?=[A-Z]{2}\\d{2})([A-Z]{2}\\d{2})([A-Z\\d]+)$",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_IBAN"
                    ]
                }
            },
            "routeV1BankAccountModel.id": {
                "name": "id",
                "in": "query",
                "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1BankAccountModel.isArchived": {
                "name": "isArchived",
                "in": "query",
                "description": "A flag informing that the bank account is archived.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1BankAccountModel.isKidActive": {
                "name": "isKidActive",
                "in": "query",
                "description": "Even if there's a KID-agreement, this flag has to be true in order to create invoices with KID.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1BankAccountModel.kidAgreementId": {
                "name": "kidAgreementId",
                "in": "query",
                "description": "Nets id to the KID-agreement which possibly are connected to the bank account.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 9,
                    "maxLength": 9,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1BankAccountModel.kidApplicationStatus": {
                "name": "kidApplicationStatus",
                "in": "query",
                "description": "The kid application status.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/enumNetsKidAgreementApplicationEnum"
                }
            },
            "routeV1BankAccountModel.name": {
                "name": "name",
                "in": "query",
                "description": "Optional nickname for the bank account which is used to easily identify the account and what it is used for,\nwithout the need to remember the different account numbers.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1BankAccountModel.ownerPersonalNumber": {
                "name": "ownerPersonalNumber",
                "in": "query",
                "description": "Ssn\/D number of the bank account owner. This should not be stored anywhere. Only used for ownership verification.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 20,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1BankAccountModel.ownerType": {
                "name": "ownerType",
                "in": "query",
                "description": "Type of the bank account owner, if it's a business or a private person. Used to ask for an SSN if set to private.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/enumBankAccountOwnerTypeEnum"
                }
            },
            "routeV1BankAccountModel.swift": {
                "name": "swift",
                "in": "query",
                "description": "Swift is the banks international code which is used for receiving transfers from foreign countries. Swift is\nsometimes referred to as BIC, but it is only different names for the same code.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 11,
                    "pattern": "^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_SWIFT"
                    ]
                }
            },
            "routeV1BookkeepingInboxSearchInputModel.afterId": {
                "name": "afterId",
                "in": "query",
                "description": "Identifier of the first element in the list.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1BookkeepingInboxSearchInputModel.beforeId": {
                "name": "beforeId",
                "in": "query",
                "description": "Identifier of the last element in the list.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1FileRequestModel.downloadFile": {
                "name": "downloadFile",
                "in": "query",
                "description": "Indicates if the file should be downloaded in the browser.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1FindBookkeepingAccountsInputModel.endBookkeepingAccountNo": {
                "name": "endBookkeepingAccountNo",
                "in": "query",
                "description": "The end of the bookkepingAccountNo to search.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 4,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                    ]
                }
            },
            "routeV1FindBookkeepingAccountsInputModel.ignoredBookkeepingAccountNos": {
                "name": "ignoredBookkeepingAccountNos",
                "in": "query",
                "description": "List of BookkeepingAccountNoRangeModel containing bookkeeping account nos to be ignored.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/arrayOfBookkeepingAccountNoRangeModel"
                }
            },
            "routeV1FindBookkeepingAccountsInputModel.startBookkeepingAccountNo": {
                "name": "startBookkeepingAccountNo",
                "in": "query",
                "description": "The start of the bookkepingAccountNo to search.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 4,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                    ]
                }
            },
            "routeV1FindBookkeepingAccountsInputModel.transactionDraftId": {
                "name": "transactionDraftId",
                "in": "query",
                "description": "Identifier for the transaction draft to bring all customers\/suppliers from.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1FindBookkeepingAccountsInputModel.transactionId": {
                "name": "transactionId",
                "in": "query",
                "description": "Identifier for the transaction to bring all customers\/suppliers from.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetAccountingReportDetailsInputModel.bookkeepingAccountNo": {
                "name": "bookkeepingAccountNo",
                "in": "query",
                "description": "The bookkeeping account no.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 4,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                    ]
                }
            },
            "routeV1GetAccountingReportDetailsInputModel.departmentId": {
                "name": "departmentId",
                "in": "query",
                "description": "Identifier of the department for the report.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetAccountingReportDetailsInputModel.endDate": {
                "name": "endDate",
                "in": "query",
                "description": "End date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1GetAccountingReportDetailsInputModel.projectId": {
                "name": "projectId",
                "in": "query",
                "description": "Id to the project for the report.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetAccountingReportDetailsInputModel.startDate": {
                "name": "startDate",
                "in": "query",
                "description": "Start date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.customerId": {
                "name": "customerId",
                "in": "query",
                "description": "Id to the customer the invoice belongs to.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.id": {
                "name": "id",
                "in": "query",
                "description": "Invoice id.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.invoiceCurrency": {
                "name": "invoiceCurrency",
                "in": "query",
                "description": "Which currency was the invoice created in. Defaults to NOK.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.invoiceDueDate": {
                "name": "invoiceDueDate",
                "in": "query",
                "description": "The due date for the invoice.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.sumRemaining": {
                "name": "sumRemaining",
                "in": "query",
                "description": "The amount remaining to be paid on the invoice.",
                "required": false,
                "schema": {
                    "type": "number",
                    "maximum": 99999999999.99,
                    "minimum": -99999999999.99,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_CURRENCY"
                    ]
                }
            },
            "routeV1GetAllowedDeliveryMethodsForInvoiceInputModel.type": {
                "name": "type",
                "in": "query",
                "description": "The type of invoice.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/enumInvoiceTypeEnum"
                }
            },
            "routeV1GetLedgerInputModel.bookkeepingAccountsToBeIncluded": {
                "name": "bookkeepingAccountsToBeIncluded",
                "in": "query",
                "description": "List of bookkeeping accounts to be included in the ledger. If set, no other accounts will be included.",
                "required": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_ARRAY",
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.customerId": {
                "name": "customerId",
                "in": "query",
                "description": "The ID of the customer to limit the ledger to.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.customerName": {
                "name": "customerName",
                "in": "query",
                "description": "The name of the customer(s) to limit the ledger to.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.departmentId": {
                "name": "departmentId",
                "in": "query",
                "description": "The ID of department to restrict the result to.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.endBookkeepingAccountNo": {
                "name": "endBookkeepingAccountNo",
                "in": "query",
                "description": "Last bookkeeping account number to include.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 4,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.endDate": {
                "name": "endDate",
                "in": "query",
                "description": "Last date of the period. The period includes this date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1GetLedgerInputModel.includeClosedLedgerLines": {
                "name": "includeClosedLedgerLines",
                "in": "query",
                "description": "If the closed ledger lines should be included. Defaults to true.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.includeLedgerLines": {
                "name": "includeLedgerLines",
                "in": "query",
                "description": "If the ledger lines should be included. Defaults to false.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.includeOldTransactions": {
                "name": "includeOldTransactions",
                "in": "query",
                "description": "If the old transactions should be inclued. Defaults to false.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.maxTransactionsPerPage": {
                "name": "maxTransactionsPerPage",
                "in": "query",
                "description": "If maxTransactionsPerPage = 0, it means unlimited transactions.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.page": {
                "name": "page",
                "in": "query",
                "description": "In order to do pagination, this is used for some reports.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.projectId": {
                "name": "projectId",
                "in": "query",
                "description": "The ID of project to restrict the result to.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.startBookkeepingAccountNo": {
                "name": "startBookkeepingAccountNo",
                "in": "query",
                "description": "First bookkeeping account number to include.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 4,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.startDate": {
                "name": "startDate",
                "in": "query",
                "description": "First date of the period. The period includes this date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1GetLedgerInputModel.supplierId": {
                "name": "supplierId",
                "in": "query",
                "description": "The ID of the supplier to limit the ledger to.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetLedgerInputModel.supplierName": {
                "name": "supplierName",
                "in": "query",
                "description": "The name of the supplier(s) to limit the ledger to.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.customerId": {
                "name": "customerId",
                "in": "query",
                "description": "The ID of the customer to limit the ledger to.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.customerName": {
                "name": "customerName",
                "in": "query",
                "description": "The name of the customer(s) to limit the ledger to.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.departmentId": {
                "name": "departmentId",
                "in": "query",
                "description": "The ID of department to restrict the result to.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.endDate": {
                "name": "endDate",
                "in": "query",
                "description": "Last date of the period. The period includes this date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.includeClosedLedgerLines": {
                "name": "includeClosedLedgerLines",
                "in": "query",
                "description": "If the ledger lines should be included. Defaults to false.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.includeOldTransactions": {
                "name": "includeOldTransactions",
                "in": "query",
                "description": "If the old transactions should be inclued.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.page": {
                "name": "page",
                "in": "query",
                "description": "In order to do pagination, this is used for some reports.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.projectId": {
                "name": "projectId",
                "in": "query",
                "description": "The ID of project to restrict the result to.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.recordsPerPage": {
                "name": "recordsPerPage",
                "in": "query",
                "description": "How many transactions per page.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.roundToTwoDecimals": {
                "name": "roundToTwoDecimals",
                "in": "query",
                "description": "To get 2 decimals when rounding the sum.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1GetOpenAccountsReceivableInputModel.startDate": {
                "name": "startDate",
                "in": "query",
                "description": "First date of the period. The period includes this date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1GetTrialBalanceInputModel.bookkeepingAccountsToBeIncluded": {
                "name": "bookkeepingAccountsToBeIncluded",
                "in": "query",
                "description": "Array of bookkeeping account numbers that will be detailed in the report.",
                "required": false,
                "schema": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_ARRAY",
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1GetTrialBalanceInputModel.departmentId": {
                "name": "departmentId",
                "in": "query",
                "description": "Identifier of the department for the report.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetTrialBalanceInputModel.endBookkeepingAccountNo": {
                "name": "endBookkeepingAccountNo",
                "in": "query",
                "description": "End bookkeeping account number.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 4,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                    ]
                }
            },
            "routeV1GetTrialBalanceInputModel.endDate": {
                "name": "endDate",
                "in": "query",
                "description": "End date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1GetTrialBalanceInputModel.projectId": {
                "name": "projectId",
                "in": "query",
                "description": "Id to the project for the report.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1GetTrialBalanceInputModel.startBookkeepingAccountNo": {
                "name": "startBookkeepingAccountNo",
                "in": "query",
                "description": "Start bookkeeping account number.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 4,
                    "maxLength": 4,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                    ]
                }
            },
            "routeV1GetTrialBalanceInputModel.startDate": {
                "name": "startDate",
                "in": "query",
                "description": "Start date.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1QueryModel.fromDate": {
                "name": "fromDate",
                "in": "query",
                "description": "Filters the createdAt by default, can be changed overriding function getCfgColumnDateToFilter.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1QueryModel.hits": {
                "name": "hits",
                "in": "query",
                "description": "The number of results to retrieve per page. Defaults to 20. If the user wants to bring all results, this value should be set to 0.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1QueryModel.page": {
                "name": "page",
                "in": "query",
                "description": "The result page to retrieve. Defaults to 0.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1QueryModel.q": {
                "name": "q",
                "in": "query",
                "description": "Search term. Matched against all searchable fields.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 100,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1QueryModel.sort": {
                "name": "sort",
                "in": "query",
                "description": "Sorting options. Comma separated list of field names, prefixed with either + (ascending) or - (descending).",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 50,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1QueryModel.toDate": {
                "name": "toDate",
                "in": "query",
                "description": "Filters the createdAt by default, can be changed overriding function getCfgColumnDateToFilter.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1Read100TransactionsInputModel.departmentId": {
                "name": "departmentId",
                "in": "query",
                "description": "Filter by department ID.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1Read100TransactionsInputModel.endDate": {
                "name": "endDate",
                "in": "query",
                "description": "End date filter.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1Read100TransactionsInputModel.fromTransactionNo": {
                "name": "fromTransactionNo",
                "in": "query",
                "description": "From transaction number filter.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1Read100TransactionsInputModel.page": {
                "name": "page",
                "in": "query",
                "description": "Which page of results to return (zero-based).",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 0,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1Read100TransactionsInputModel.projectId": {
                "name": "projectId",
                "in": "query",
                "description": "Filter by project ID.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1Read100TransactionsInputModel.recordsPerPage": {
                "name": "recordsPerPage",
                "in": "query",
                "description": "Number of transactions per page (max 100).",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 100,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1Read100TransactionsInputModel.startDate": {
                "name": "startDate",
                "in": "query",
                "description": "Start date filter.",
                "required": false,
                "schema": {
                    "type": "string",
                    "format": "date",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_DATE"
                    ],
                    "x-earliest": "1100-01-01",
                    "x-latest": "2299-12-31"
                }
            },
            "routeV1Read100TransactionsInputModel.toTransactionNo": {
                "name": "toTransactionNo",
                "in": "query",
                "description": "To transaction number filter.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1Read100TransactionsInputModel.transactionId": {
                "name": "transactionId",
                "in": "query",
                "description": "Filter by a specific transaction ID.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchInvoiceDraftInputModel.customerId": {
                "name": "customerId",
                "in": "query",
                "description": "Limit the search to only one customer.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchInvoiceDraftInputModel.departmentId": {
                "name": "departmentId",
                "in": "query",
                "description": "Limit the search to only one department.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchInvoiceDraftInputModel.includeCreatedAt": {
                "name": "includeCreatedAt",
                "in": "query",
                "description": "Include createdAt on csv file or not. Used for ExportToAutority.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1SearchInvoiceDraftInputModel.includeCreatedByIp": {
                "name": "includeCreatedByIp",
                "in": "query",
                "description": "Include createdByIp on csv file or not. Used for ExportToAutority.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1SearchInvoiceDraftInputModel.invoiceCurrency": {
                "name": "invoiceCurrency",
                "in": "query",
                "description": "The invoice currency.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1SearchInvoiceDraftInputModel.projectId": {
                "name": "projectId",
                "in": "query",
                "description": "Limit the search to only one project.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchInvoiceDraftInputModel.type": {
                "name": "type",
                "in": "query",
                "description": "Filter to select only a certain type of invoices.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/enumInvoiceListFilterTypeEnum"
                }
            },
            "routeV1SearchInvoiceInputModel.customerId": {
                "name": "customerId",
                "in": "query",
                "description": "Limit the search to only one customer.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchInvoiceInputModel.departmentId": {
                "name": "departmentId",
                "in": "query",
                "description": "Limit the search to only one department.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchInvoiceInputModel.includeCreatedAt": {
                "name": "includeCreatedAt",
                "in": "query",
                "description": "Include createdAt on csv file or not. Used for ExportToAutority.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1SearchInvoiceInputModel.includeCreatedByIp": {
                "name": "includeCreatedByIp",
                "in": "query",
                "description": "Include createdByIp on csv file or not. Used for ExportToAutority.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1SearchInvoiceInputModel.invoiceCurrency": {
                "name": "invoiceCurrency",
                "in": "query",
                "description": "The invoice currency.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 3,
                    "maxLength": 3,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1SearchInvoiceInputModel.invoiceNo": {
                "name": "invoiceNo",
                "in": "query",
                "description": "Invoice number is used to identify the invoice. By law it's unique per organization per year. It's a number\nthat the system automatically sets, and it's not modifiable.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchInvoiceInputModel.isCreatedInOtherSystem": {
                "name": "isCreatedInOtherSystem",
                "in": "query",
                "description": "Is this invoice originally created in another system than Conta Faktura.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1SearchInvoiceInputModel.kraviaInvoiceStatuses": {
                "name": "kraviaInvoiceStatuses",
                "in": "query",
                "description": "Included kravia invoice statuses.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/arrayOfEnumKraviaInvoiceStatusEnum"
                }
            },
            "routeV1SearchInvoiceInputModel.projectId": {
                "name": "projectId",
                "in": "query",
                "description": "Limit the search to only one project.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchInvoiceInputModel.type": {
                "name": "type",
                "in": "query",
                "description": "Filter to select only a certain type of invoices.",
                "required": false,
                "schema": {
                    "$ref": "#\/components\/schemas\/enumInvoiceListFilterTypeEnum"
                }
            },
            "routeV1SearchSuppliersInputModel.returnUnpaidInvoices": {
                "name": "returnUnpaidInvoices",
                "in": "query",
                "description": "Flag indicating if the search result should include the invoices with outstanding amount associated with the suppliers.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1SearchSuppliersInputModel.transactionDraftId": {
                "name": "transactionDraftId",
                "in": "query",
                "description": "Identifier for the transaction draft to bring all customers\/suppliers from.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchSuppliersInputModel.transactionId": {
                "name": "transactionId",
                "in": "query",
                "description": "Identifier for the transaction to bring all customers\/suppliers from.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchTransactionsInputModel.description": {
                "name": "description",
                "in": "query",
                "description": "Short description about what the transaction is.",
                "required": false,
                "schema": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_STRING"
                    ]
                }
            },
            "routeV1SearchTransactionsInputModel.isResetTransaction": {
                "name": "isResetTransaction",
                "in": "query",
                "description": "Flag that indicates if the transaction represents a reset transaction.",
                "required": false,
                "schema": {
                    "type": "boolean",
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_BOOLEAN"
                    ]
                }
            },
            "routeV1SearchTransactionsInputModel.transactionNo": {
                "name": "transactionNo",
                "in": "query",
                "description": "A number that identifies the transaction. Starts on 1 for each organization\/year, and increases automatically.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": 1,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            },
            "routeV1SearchTransactionsInputModel.transactionYear": {
                "name": "transactionYear",
                "in": "query",
                "description": "The year of the transaction.",
                "required": false,
                "schema": {
                    "type": "integer",
                    "maximum": 9223372036854775807,
                    "minimum": -9223372036854775808,
                    "x-asgard-datatype": [
                        "ASGARD_TYPE_INTEGER"
                    ]
                }
            }
        },
        "schemas": {
            "BookkeepingAccountNoRangeModel": {
                "type": "object",
                "properties": {
                    "fromNo": {
                        "type": "string",
                        "description": "The from\/minimum value in the range of values.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "toNo": {
                        "type": "string",
                        "description": "The to\/maximum value in the range of values.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    }
                }
            },
            "BookkeepingInboxFileListModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the bookkeeping inbox file model.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "receivedDateTime": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the file was uploaded\/received.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "fileId": {
                        "type": "integer",
                        "description": "The ID for the file.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "fileUrl": {
                        "type": "string",
                        "description": "Temporary url for the file.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "thumbnailFileUrl": {
                        "type": "string",
                        "description": "Temporary url for the thumbnail of the file.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "urlsExpiryDateTime": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date when the urls will expire.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "filename": {
                        "type": "string",
                        "description": "Name of the file uploaded by the user.",
                        "minLength": 1,
                        "maxLength": 256,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "The optional description.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "size": {
                        "type": "integer",
                        "description": "Size of the file.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "contentType": {
                        "$ref": "#\/components\/schemas\/enumMimeTypeEnum"
                    },
                    "emailFrom": {
                        "type": "string",
                        "format": "email",
                        "description": "The recipient's email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "emailSubject": {
                        "type": "string",
                        "description": "The subject of the email.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "numberOfPages": {
                        "type": "integer",
                        "description": "The number of pages the pdf has.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "title": {
                        "type": "string",
                        "description": "User-editable display title for the inbox file.",
                        "minLength": 1,
                        "maxLength": 256,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "additionalComments": {
                        "type": "string",
                        "description": "User-editable notes related to the file.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                }
            },
            "ContaCreditPackageModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "contaCreditType": {
                        "$ref": "#\/components\/schemas\/enumContaCreditTypeEnum"
                    },
                    "numberOfCredits": {
                        "type": "integer",
                        "description": "The number of Conta credits in the package.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sumNet": {
                        "type": "number",
                        "description": "The price of the package, ex. VAT.",
                        "maximum": 99999999999.99,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumTotal": {
                        "type": "number",
                        "description": "The price of the package, inc. VAT.",
                        "maximum": 99999999999.99,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "The description of the Conta credit package.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "productId": {
                        "type": "integer",
                        "description": "Identifier for the Conta AS product associated with this package.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "allowInvoice": {
                        "type": "boolean",
                        "description": "Flag indicating if it's allowed to buy this package with an invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "CustomerContactDbModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was registered.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "modifiedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was modified.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByIp": {
                        "type": "string",
                        "description": "The IP Address from the connection which created the row.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "createdByUserId": {
                        "type": "integer",
                        "description": "The primary key of the user which created the row.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "kaiaToolCallUuid": {
                        "type": "string",
                        "description": "The UUID of the Kaia AI tool call during which the row was created or changed. Null for non-Kaia writes.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Organization Id the data belong to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "Id to the CustomerDbModel the CustomerContact belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the customer contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the customer contact.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the customer contact.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "title": {
                        "type": "string",
                        "description": "The job title of the customer contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                }
            },
            "CustomerDbModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was registered.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "modifiedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was modified.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByIp": {
                        "type": "string",
                        "description": "The IP Address from the connection which created the row.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "createdByUserId": {
                        "type": "integer",
                        "description": "The primary key of the user which created the row.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "kaiaToolCallUuid": {
                        "type": "string",
                        "description": "The UUID of the Kaia AI tool call during which the row was created or changed. Null for non-Kaia writes.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Organization Id the data belong to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "contacts": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/CustomerContactDbModel"
                        },
                        "description": "Contacts related to the customer.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Jotunheim\\Model\\Sql\\CustomerContactDbModel"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the Customer. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 200,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerType": {
                        "$ref": "#\/components\/schemas\/enumCustomerTypeEnum"
                    },
                    "orgNo": {
                        "type": "string",
                        "description": "The organization number to the customer. A string between 6 and 50 characters.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "orgNoInteger": {
                        "type": "integer",
                        "description": "Numeric-only version of organization number, generated from orgNo.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "ehfRecipientOrgNo": {
                        "type": "string",
                        "description": "Org number which will receive ehf for the customer.",
                        "minLength": 0,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the customer. A string between 5 and 200 characters.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the customer. Must be a valid email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "dateOfBirth": {
                        "type": "string",
                        "format": "date",
                        "description": "Date of birth (Used if the customer is a person). A string between 6 and 50 characters.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "parentCompanyNameForNuf": {
                        "type": "string",
                        "description": "Name of the parent company of the Nuf (Only applicable if company is a Nuf).",
                        "minLength": 0,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgCertificateFileId": {
                        "type": "integer",
                        "description": "The id of the file for the organization certificate.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerImportId": {
                        "type": "integer",
                        "description": "The identification of the import operation that generated this customer.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "daysUntilPaymentReminder": {
                        "type": "integer",
                        "description": "The default number of days from an invoice is created to the due date.",
                        "maximum": 365,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "daysUntilEstimateOverdue": {
                        "type": "integer",
                        "description": "The default number of days from a sale document to be added on the due date.",
                        "maximum": 365,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "defaultInvoiceDiscount": {
                        "type": "number",
                        "description": "The default discount percentage for invoices to this customer.",
                        "maximum": 100,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "customerAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the customer. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressCity": {
                        "type": "string",
                        "description": "The name of the city the customer resides in. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressCountry": {
                        "type": "string",
                        "description": "The name of the country the customer resides in. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressPostcode": {
                        "type": "string",
                        "description": "The postcode of the mailing address. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressCity": {
                        "type": "string",
                        "description": "The name of the city of the mailing address. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressCountry": {
                        "type": "string",
                        "description": "The name of the country for the mailing address. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the delivery address. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressCity": {
                        "type": "string",
                        "description": "The name of the city of the delivery address. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressCountry": {
                        "type": "string",
                        "description": "The name of the country for the mailing address. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "Identification number for this customer in the Visma (Relevant for any user exporting the data to the visma\nformat).",
                        "maximum": 2147483647,
                        "minimum": -2147483648,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceDeliveryMethod": {
                        "$ref": "#\/components\/schemas\/enumDeliveryMethodTypeEnum"
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether this customer is archived.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "efakturaCustomerId": {
                        "type": "integer",
                        "description": "Active eFaktura customer used for efaktura sending.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                }
            },
            "CustomerExtSearchListResponse": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "orgNo": {
                        "type": "string",
                        "nullable": true
                    },
                    "emailAddress": {
                        "type": "string",
                        "nullable": true
                    },
                    "customerType": {
                        "$ref": "#\/components\/schemas\/enumCustomerTypeEnum"
                    },
                    "numberOfInvoices": {
                        "type": "integer",
                        "nullable": true
                    },
                    "invoiceDeliveryMethod": {
                        "$ref": "#\/components\/schemas\/enumDeliveryMethodTypeEnum"
                    },
                    "isArchived": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "isActive": {
                        "type": "boolean",
                        "nullable": true
                    }
                },
                "description": "A single customer hit in the external (v1) customer search result.",
                "required": []
            },
            "CustomerExtSearchResponse": {
                "type": "object",
                "properties": {
                    "hitCount": {
                        "type": "integer",
                        "nullable": true
                    },
                    "pageCount": {
                        "type": "integer",
                        "nullable": true
                    },
                    "hits": {
                        "$ref": "#\/components\/schemas\/arrayOfCustomerExtSearchListResponse"
                    },
                    "sum": {
                        "type": "number",
                        "nullable": true
                    }
                },
                "description": "Paged customer search result for the external (v1) API (mirrors the legacy RouteV1QueryResultModel envelope).",
                "required": [
                    "hits"
                ]
            },
            "DepartmentDbModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Creation date of the department.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "modifiedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was modified.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByIp": {
                        "type": "string",
                        "description": "The IP Address from the connection which created the row.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "createdByUserId": {
                        "type": "integer",
                        "description": "The primary key of the user which created the row.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "kaiaToolCallUuid": {
                        "type": "string",
                        "description": "The UUID of the Kaia AI tool call during which the row was created or changed. Null for non-Kaia writes.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Organization Id the data belong to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the department.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the address to the department. It is normal to be able to split the\naddress information on two textual lines.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the address to the department. It is normal to be able to split\nthe address information on two textual lines.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the department.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressCity": {
                        "type": "string",
                        "description": "City of the department.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressCountry": {
                        "$ref": "#\/components\/schemas\/enumCountryEnum"
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "homepage": {
                        "type": "string",
                        "description": "Homepage address.",
                        "minLength": 1,
                        "maxLength": 1024,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "contactPerson": {
                        "type": "string",
                        "description": "Name of department contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "logoFileId": {
                        "type": "integer",
                        "description": "File id of the image file containing the logo to the department.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bankAccountId": {
                        "type": "integer",
                        "description": "Id to the department's default bank account.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "Identification number for this customer in the Visma (Relevant for any user exporting the data to the visma\nformat).",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the department is archived, and so hidden from lists and pickers.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "DepartmentExtCreateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name.",
                        "maximum": 100
                    },
                    "departmentAddressLine1": {
                        "type": "string",
                        "description": "The first line of the department's address (optional).",
                        "nullable": true,
                        "maximum": 100
                    },
                    "departmentAddressLine2": {
                        "type": "string",
                        "description": "The second line of the department's address (optional).",
                        "nullable": true,
                        "maximum": 100
                    },
                    "departmentAddressPostcode": {
                        "type": "string",
                        "description": "The department's address postcode (optional).",
                        "nullable": true,
                        "maximum": 20
                    },
                    "departmentAddressCity": {
                        "type": "string",
                        "description": "The department's address city (optional).",
                        "nullable": true,
                        "maximum": 100
                    },
                    "departmentAddressCountry": {
                        "type": "string",
                        "description": "The department's address country (optional).",
                        "nullable": true,
                        "maximum": 100
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "The phone number (optional).",
                        "nullable": true,
                        "minLength": 4,
                        "maxLength": 50
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "The email address (optional).",
                        "nullable": true,
                        "minLength": 5,
                        "maxLength": 100
                    },
                    "homepage": {
                        "type": "string",
                        "description": "The homepage URL (optional).",
                        "nullable": true,
                        "maximum": 1024
                    },
                    "contactPerson": {
                        "type": "string",
                        "description": "The contact person (optional).",
                        "nullable": true,
                        "maximum": 100
                    },
                    "logoFileId": {
                        "type": "integer",
                        "description": "The ID of the logo file (optional).",
                        "nullable": true
                    },
                    "bankAccountId": {
                        "type": "integer",
                        "description": "The ID of the bank account (optional).",
                        "nullable": true
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "The Visma number (optional).",
                        "nullable": true
                    }
                },
                "description": "Controller input Dto for creating a Department via REST.",
                "required": [
                    "name"
                ]
            },
            "DepartmentExtCreateResponse": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The unique identifier of the department."
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the department."
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the department was created."
                    },
                    "departmentAddressLine1": {
                        "type": "string",
                        "description": "The first line of the department address, if any.",
                        "nullable": true
                    },
                    "departmentAddressLine2": {
                        "type": "string",
                        "description": "The second line of the department address, if any.",
                        "nullable": true
                    },
                    "departmentAddressPostcode": {
                        "type": "string",
                        "description": "The department address postcode, if any.",
                        "nullable": true
                    },
                    "departmentAddressCity": {
                        "type": "string",
                        "description": "The city of the department address, if any.",
                        "nullable": true
                    },
                    "departmentAddressCountry": {
                        "type": "string",
                        "description": "The country of the department address, if any.",
                        "nullable": true
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "The phone number of the department, if any.",
                        "nullable": true
                    },
                    "emailAddress": {
                        "type": "string",
                        "description": "The email address of the department, if any.",
                        "nullable": true
                    },
                    "homepage": {
                        "type": "string",
                        "description": "The homepage URL of the department, if any.",
                        "nullable": true
                    },
                    "contactPerson": {
                        "type": "string",
                        "description": "The contact person of the department, if any.",
                        "nullable": true
                    },
                    "logoFileId": {
                        "type": "integer",
                        "description": "The file ID of the department's logo, if any.",
                        "nullable": true
                    },
                    "bankAccountId": {
                        "type": "integer",
                        "description": "The bank account ID associated with the department, if any.",
                        "nullable": true
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "The Visma number associated with the department, if any.",
                        "nullable": true
                    }
                },
                "description": "Controller input Dto for creating a Department via REST.",
                "required": [
                    "id",
                    "name",
                    "createdAt"
                ]
            },
            "DepartmentExtSearchListResponse": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "contactPerson": {
                        "type": "string",
                        "nullable": true
                    },
                    "bankAccountName": {
                        "type": "string",
                        "nullable": true
                    },
                    "bankAccountNo": {
                        "type": "string",
                        "nullable": true
                    }
                },
                "description": "A single department hit in the external (v1) department search result.",
                "required": [
                    "id",
                    "name"
                ]
            },
            "DepartmentExtSearchResponse": {
                "type": "object",
                "properties": {
                    "hitCount": {
                        "type": "integer",
                        "nullable": true
                    },
                    "pageCount": {
                        "type": "integer",
                        "nullable": true
                    },
                    "hits": {
                        "$ref": "#\/components\/schemas\/arrayOfDepartmentExtSearchListResponse"
                    },
                    "sum": {
                        "type": "number",
                        "nullable": true
                    }
                },
                "description": "Paged department search result for the external (v1) API (mirrors the legacy RouteV1QueryResultModel envelope).",
                "required": [
                    "hits"
                ]
            },
            "EfakturaCustomerModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Org id.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "Customer id.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "efakturaIdentifier": {
                        "type": "string",
                        "description": "Identification number of the customer for eFaktura API pattern[0-9]{9} if null we can assume the customer accepts eFakturas.",
                        "maximum": 999999999,
                        "minimum": 0,
                        "pattern": "^\\d+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_NUMERIC_STRING"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the Customer. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the customer. A string between 5 and 200 characters.",
                        "minLength": 8,
                        "maxLength": 15,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the customer. Must be a valid email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "hasAutoAcceptAgreements": {
                        "type": "boolean",
                        "description": "A flag that shows whether the receiver accepts the eFatkuras.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "issuerBlockedByReceiver": {
                        "type": "boolean",
                        "description": "A flag that shows whether the receiver blocks the eFaktura issuer.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "hasEfakturaAgreement": {
                        "type": "boolean",
                        "description": "A flag that shows whether the receiver uses eFaktura service already.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "efakturaReferences": {
                        "type": "string",
                        "description": "Efaktura references.",
                        "minLength": 0,
                        "maxLength": 32,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                },
                "description": "The efaktura customer."
            },
            "EnhetsregisteretListModel": {
                "type": "object",
                "properties": {
                    "q": {
                        "type": "string",
                        "description": "Search term. Matched against all searchable fields.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "hits": {
                        "type": "integer",
                        "description": "The number of results to retrieve per page. Defaults to 20. If the user wants to bring all results, this value should be set to 0.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "page": {
                        "type": "integer",
                        "description": "The result page to retrieve. Defaults to 0.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sort": {
                        "type": "string",
                        "description": "Sorting options. Comma separated list of field names, prefixed with either + (ascending) or - (descending).",
                        "minLength": 1,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "fromDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Filters the createdAt by default, can be changed overriding function getCfgColumnDateToFilter.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "toDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Filters the createdAt by default, can be changed overriding function getCfgColumnDateToFilter.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "orgNo": {
                        "type": "integer",
                        "description": "First name of person who initiated the creation of the exported result.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Last name of person who initiated the creation of the exported result.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Parameter for start of search used in the creation process.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "partnerId": {
                        "type": "integer",
                        "description": "Partner id.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Registration in Conta date.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "totalUsers": {
                        "type": "integer",
                        "description": "Total users in Conta.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                }
            },
            "InvoiceEventListModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Identifier for the sale event.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "The date the event happened.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "eventType": {
                        "$ref": "#\/components\/schemas\/enumInvoiceEventTypeEnum"
                    },
                    "userName": {
                        "type": "string",
                        "description": "Name of the user who created the event.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "sumRemainingChanged": {
                        "type": "number",
                        "description": "How much the remaining sum of the invoice changed because of this history event.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumRemaining": {
                        "type": "number",
                        "description": "How much the remaining sum of the invoice became after this event.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "deliveryMethod": {
                        "$ref": "#\/components\/schemas\/enumInvoiceEventDeliveryMethodEnum"
                    },
                    "emailRecipientId": {
                        "type": "integer",
                        "description": "Reference of the email recipient created.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "ehfId": {
                        "type": "integer",
                        "description": "Reference of the ehf created.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "efakturaId": {
                        "type": "integer",
                        "description": "Reference of the efaktura created.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "snailMailId": {
                        "type": "integer",
                        "description": "Reference of the snailmail created.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "lastEmailEventType": {
                        "$ref": "#\/components\/schemas\/enumEmailEventTypeEnum"
                    },
                    "kraviaStatus": {
                        "$ref": "#\/components\/schemas\/enumKraviaSentLogStatusTypeEnum"
                    },
                    "ehfStatus": {
                        "$ref": "#\/components\/schemas\/enumSentLogStatusTypeEnum"
                    },
                    "efakturaStatus": {
                        "$ref": "#\/components\/schemas\/enumSentLogStatusTypeEnum"
                    },
                    "snailMailStatus": {
                        "$ref": "#\/components\/schemas\/enumSentLogStatusTypeEnum"
                    },
                    "smtpId": {
                        "type": "string",
                        "description": "Smtp identification.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddresses": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "An array of all email recipients.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddressesAsString": {
                        "type": "string",
                        "description": "All the recipient's email addresses concat as a string.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number of the invoice reipient.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "recipientOrgNo": {
                        "type": "string",
                        "description": "The recipients organizations number.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "followUpDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The new date to follow up.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "saleId": {
                        "type": "integer",
                        "description": "Identifier for the sale.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "saleNo": {
                        "type": "integer",
                        "description": "The number of the sale which created this invoice.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "fileId": {
                        "type": "integer",
                        "description": "Identifier for the file of the document created when this event occurred.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date when the event was created.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "transactionNoYear": {
                        "type": "string",
                        "description": "The identifier for the transaction which originated this invoice event.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "creditedInvoiceId": {
                        "type": "integer",
                        "description": "The identifier for the credited invoice.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditedInvoiceNo": {
                        "type": "integer",
                        "description": "The number of the credited invoice.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditNoteInvoiceId": {
                        "type": "integer",
                        "description": "The identifier for the created credit note.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditNoteInvoiceNo": {
                        "type": "integer",
                        "description": "The number of the created credit note.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                }
            },
            "InvoiceListExtendedInfoModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice Id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "status": {
                        "$ref": "#\/components\/schemas\/enumInvoiceStatusEnum"
                    },
                    "invoiceNo": {
                        "type": "integer",
                        "description": "Invoice number.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Invoice date.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "followUpDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date the invoice requires follow up.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceDueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The due date for the invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "customerName": {
                        "type": "string",
                        "description": "Customer name on the invoice.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerGroupId": {
                        "type": "integer",
                        "description": "The unique id of the customer group.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerGroupName": {
                        "type": "string",
                        "description": "Customer group name on the invoice.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "numberOfCustomersInGroup": {
                        "type": "integer",
                        "description": "Number of customers in customer group.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "The id of the customer.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerOrgNo": {
                        "type": "string",
                        "description": "The organization number to the customer.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "customerEmailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the customer.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "customerAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the customer. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressCity": {
                        "type": "string",
                        "description": "The name of the city the customer resides in. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "sumNet": {
                        "type": "number",
                        "description": "Net sum of the invoice (ex. VAT).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumVAT": {
                        "type": "number",
                        "description": "The total VAT for the invoice.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumTotal": {
                        "type": "number",
                        "description": "Total sum of the invoice (incl. VAT).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumRemaining": {
                        "type": "number",
                        "description": "Total sum of invoice that has not yet been paid.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "personalMessage": {
                        "type": "string",
                        "description": "The personal message on the invoice.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "kid": {
                        "type": "string",
                        "description": "KID-number on the invoice.",
                        "minLength": 2,
                        "maxLength": 35,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "nextRepeatDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date which the invoice will next be repeated.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceLineDescription": {
                        "type": "string",
                        "description": "Description of the invoice line.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "paymentReminderFee": {
                        "type": "number",
                        "description": "The fee that was added during the creation of the payment reminder.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "paymentReminderInterest": {
                        "type": "number",
                        "description": "The interest that was added during the creation of the payment reminder.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "paymentReminderDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date when the payment reminder was created.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "totalSumRemaining": {
                        "type": "number",
                        "description": "The combined sum of amount remaining on invoice and easybank sale (invoice.sumRemaining + easybankSale.sumRemaining).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "emailAddresses": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "An array of all email recipients.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddressesAsString": {
                        "type": "string",
                        "description": "All the recipient's email addresses concat as a string.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Created at.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByIp": {
                        "type": "string",
                        "description": "Created by IP.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "createdByUser": {
                        "type": "string",
                        "description": "Created by user.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "kraviaInvoiceStatus": {
                        "$ref": "#\/components\/schemas\/enumKraviaInvoiceStatusEnum"
                    },
                    "kraviaInvoiceStatusAsString": {
                        "type": "string",
                        "description": "Kravia invoice status - translated string.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "bankAccountNo": {
                        "type": "integer",
                        "description": "Bank account no used on invoice.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                }
            },
            "InvoiceListExtendedModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice Id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "type": {
                        "$ref": "#\/components\/schemas\/enumInvoiceTypeEnum"
                    },
                    "status": {
                        "$ref": "#\/components\/schemas\/enumInvoiceStatusEnum"
                    },
                    "invoiceNo": {
                        "type": "integer",
                        "description": "Invoice number.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Invoice date.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "followUpDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date the invoice requires follow up.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceDueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The due date for the invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceFileId": {
                        "type": "integer",
                        "description": "The id for the file reference for the uploaded invoice file.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "attachmentFileId": {
                        "type": "integer",
                        "description": "The id for the attachment file reference for the uploaded invoice file.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bankAccountId": {
                        "type": "integer",
                        "description": "The id of the bank account the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "departmentId": {
                        "type": "integer",
                        "description": "The id of the department the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "The id to the project the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerReference": {
                        "type": "string",
                        "description": "Text on the PDF that represents the customer reference.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "invoiceLanguage": {
                        "$ref": "#\/components\/schemas\/enumLanguageEnum"
                    },
                    "invoiceCurrency": {
                        "type": "string",
                        "description": "Which currency was the invoice created in. Defaults to NOK.",
                        "minLength": 3,
                        "maxLength": 3,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "creditedInvoiceNo": {
                        "type": "integer",
                        "description": "The invoice number of the invoice that was credited. Used on only credit notes.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditedInvoiceId": {
                        "type": "integer",
                        "description": "The invoice id of the invoice that was credited. Used on only credit notes.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerName": {
                        "type": "string",
                        "description": "Customer name on the invoice.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "The id of the customer.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerOrgNo": {
                        "type": "string",
                        "description": "The organization number to the customer.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "customerEmailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the customer.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "customerAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the customer. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressCity": {
                        "type": "string",
                        "description": "The name of the city the customer resides in. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "sumNet": {
                        "type": "number",
                        "description": "Net sum of the invoice (ex. VAT).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumVAT": {
                        "type": "number",
                        "description": "The total VAT for the invoice.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumTotal": {
                        "type": "number",
                        "description": "Total sum of the invoice (incl. VAT).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumRemaining": {
                        "type": "number",
                        "description": "Total sum of invoice that has not yet been paid.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "personalMessage": {
                        "type": "string",
                        "description": "The personal message on the invoice.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "kid": {
                        "type": "string",
                        "description": "KID-number on the invoice.",
                        "minLength": 2,
                        "maxLength": 35,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "nextRepeatDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date which the invoice will next be repeated.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceLineDescription": {
                        "type": "string",
                        "description": "Description of the invoice line.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "paymentReminderFee": {
                        "type": "number",
                        "description": "The fee that was added during the creation of the payment reminder.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "paymentReminderInterest": {
                        "type": "number",
                        "description": "The interest that was added during the creation of the payment reminder.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "paymentReminderDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date when the payment reminder was created.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "paymentReminderType": {
                        "$ref": "#\/components\/schemas\/enumPaymentReminderTypeEnum"
                    },
                    "paymentReminderDueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The due date for the payment reminder.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "totalSumRemaining": {
                        "type": "number",
                        "description": "The combined sum of amount remaining on invoice and easybank sale (invoice.sumRemaining + easybankSale.sumRemaining).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "emailAddresses": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "An array of all email recipients.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddressesAsString": {
                        "type": "string",
                        "description": "All the recipient's email addresses concat as a string.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Created at.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByIp": {
                        "type": "string",
                        "description": "Created by IP.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "kraviaInvoiceStatus": {
                        "$ref": "#\/components\/schemas\/enumKraviaInvoiceStatusEnum"
                    }
                }
            },
            "InvoicePaymentListModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Identifier for the invoice payment.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "Identifier for the customer this payment is attached to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerName": {
                        "type": "string",
                        "description": "Name of the customer associated with the invoice.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerOrgNo": {
                        "type": "string",
                        "description": "The organization number to the customer.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "Identifier for the invoice this payment is attached to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceNo": {
                        "type": "integer",
                        "description": "Number of the invoice this payment is attached to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "amount": {
                        "type": "number",
                        "description": "Sum of payment (with two decimals).",
                        "maximum": 99999999999.99,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "paymentType": {
                        "$ref": "#\/components\/schemas\/enumPaymentTypeEnum"
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "The date when payment arrived in bank account.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "kid": {
                        "type": "string",
                        "description": "KID-number on the invoice, makes it possible for automatic registration of payments.",
                        "minLength": 2,
                        "maxLength": 35,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                }
            },
            "ProductCsListModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The unique id of the product.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "productNo": {
                        "type": "string",
                        "description": "The product number for the product. A string no longer than 50 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Description of the product. A string between 2 and 500 characters.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "priceExVat": {
                        "type": "number",
                        "description": "The price for a unit of the product, excluding vat.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "vat": {
                        "type": "number",
                        "description": "The vat for a unit of the product.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "priceIncVat": {
                        "type": "number",
                        "description": "The price for a unit of the product, including vat.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the product is archived.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "ProjectDbModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was registered.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "modifiedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was modified.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByIp": {
                        "type": "string",
                        "description": "The IP Address from the connection which created the row.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "createdByUserId": {
                        "type": "integer",
                        "description": "The primary key of the user which created the row.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "kaiaToolCallUuid": {
                        "type": "string",
                        "description": "The UUID of the Kaia AI tool call during which the row was created or changed. Null for non-Kaia writes.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Organization Id the data belong to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the project.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the project.",
                        "minLength": 1,
                        "maxLength": 65535,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "description": "First date of the project (optional).",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Last date of the project (optional).",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "The id to the customer this project is connected to (optional).",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "Identification number for this customer in the Visma (Relevant for any user exporting the data to the visma\nformat).",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the project is archived.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "ProjectExtCreateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the project."
                    },
                    "id": {
                        "type": "integer",
                        "description": "The project id (accepted for wire compatibility, unused on create).",
                        "nullable": true
                    },
                    "description": {
                        "type": "string",
                        "description": "The project description (optional).",
                        "nullable": true
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The first date of the project (optional).",
                        "nullable": true
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The last date of the project (optional).",
                        "nullable": true
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "The customer this project is connected to (optional).",
                        "nullable": true
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "The Visma export number (optional).",
                        "nullable": true
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the project is archived (optional).",
                        "nullable": true
                    },
                    "isHidden": {
                        "type": "boolean",
                        "description": "Deprecated alias for isArchived, kept for existing integrations (optional).",
                        "nullable": true
                    }
                },
                "description": "Controller input DTO for creating a project via the external (v1) REST API.",
                "required": [
                    "name"
                ]
            },
            "ProjectExtCreateResponse": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "customerId": {
                        "type": "integer",
                        "nullable": true
                    },
                    "vismaNo": {
                        "type": "integer",
                        "nullable": true
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the project is archived."
                    },
                    "isHidden": {
                        "type": "boolean",
                        "description": "Deprecated alias for isArchived, kept for existing integrations."
                    }
                },
                "description": "Response for a project created via the external (v1) REST API.",
                "required": [
                    "id",
                    "name",
                    "isArchived",
                    "isHidden"
                ]
            },
            "ProjectExtSearchListResponse": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "nullable": true
                    },
                    "name": {
                        "type": "string",
                        "nullable": true
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "customerName": {
                        "type": "string",
                        "nullable": true
                    },
                    "customerId": {
                        "type": "integer",
                        "nullable": true
                    }
                },
                "description": "A single project hit in the external (v1) project search result (mirrors the legacy RouteV1SearchProjectsOutputModel).",
                "required": []
            },
            "ProjectExtSearchResponse": {
                "type": "object",
                "properties": {
                    "hitCount": {
                        "type": "integer",
                        "nullable": true
                    },
                    "pageCount": {
                        "type": "integer",
                        "nullable": true
                    },
                    "hits": {
                        "$ref": "#\/components\/schemas\/arrayOfProjectExtSearchListResponse"
                    },
                    "sum": {
                        "type": "number",
                        "nullable": true
                    }
                },
                "description": "Paged project search result for the external (v1) API (mirrors the legacy RouteV1QueryResultModel envelope).",
                "required": [
                    "hits"
                ]
            },
            "ProjectExtUpdateRequest": {
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the project."
                    },
                    "description": {
                        "type": "string",
                        "description": "The project description (optional).",
                        "nullable": true
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The first date of the project (optional).",
                        "nullable": true
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The last date of the project (optional).",
                        "nullable": true
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "The customer this project is connected to (optional).",
                        "nullable": true
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "The Visma export number (accepted but preserved, not updated).",
                        "nullable": true
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the project is archived (optional).",
                        "nullable": true
                    },
                    "isHidden": {
                        "type": "boolean",
                        "description": "Deprecated alias for isArchived, kept for existing integrations (optional).",
                        "nullable": true
                    }
                },
                "description": "Controller input DTO for updating a project via the external (v1) REST API. The project id comes from the path. The\nvisma number is accepted for wire compatibility but is preserved, not updated.",
                "required": [
                    "name"
                ]
            },
            "ProjectExtUpdateResponse": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string",
                        "nullable": true
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "customerId": {
                        "type": "integer",
                        "nullable": true
                    },
                    "vismaNo": {
                        "type": "integer",
                        "nullable": true
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the project is archived."
                    },
                    "isHidden": {
                        "type": "boolean",
                        "description": "Deprecated alias for isArchived, kept for existing integrations."
                    }
                },
                "description": "Response for a project updated via the external (v1) REST API.",
                "required": [
                    "id",
                    "name",
                    "isArchived",
                    "isHidden"
                ]
            },
            "RouteV1BankAccountModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "swift": {
                        "type": "string",
                        "description": "Swift is the banks international code which is used for receiving transfers from foreign countries. Swift is\nsometimes referred to as BIC, but it is only different names for the same code.",
                        "minLength": 8,
                        "maxLength": 11,
                        "pattern": "^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_SWIFT"
                        ]
                    },
                    "iban": {
                        "type": "string",
                        "description": "Iban is the european bank account series, which it's used for receiving transfers from Europe.",
                        "minLength": 14,
                        "maxLength": 34,
                        "pattern": "^(?=[A-Z]{2}\\d{2})([A-Z]{2}\\d{2})([A-Z\\d]+)$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_IBAN"
                        ]
                    },
                    "accountNo": {
                        "type": "string",
                        "description": "Bank account number.",
                        "minLength": 8,
                        "maxLength": 15,
                        "pattern": "^([0-9\\s\\.])+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BANK_ACCOUNT_NO"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Optional nickname for the bank account which is used to easily identify the account and what it is used for,\nwithout the need to remember the different account numbers.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "kidAgreementId": {
                        "type": "string",
                        "description": "Nets id to the KID-agreement which possibly are connected to the bank account.",
                        "minLength": 9,
                        "maxLength": 9,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "isKidActive": {
                        "type": "boolean",
                        "description": "Even if there's a KID-agreement, this flag has to be true in order to create invoices with KID.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "The account number for the bookkeeping account.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "hideOnTransactionWizards": {
                        "type": "boolean",
                        "description": "Flag indicating that the bank account should be hidden from the transaction wizards.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when this bank account was registered in the system.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "kidApplicationStatus": {
                        "$ref": "#\/components\/schemas\/enumNetsKidAgreementApplicationEnum"
                    },
                    "ownerType": {
                        "$ref": "#\/components\/schemas\/enumBankAccountOwnerTypeEnum"
                    },
                    "ownerPersonalNumber": {
                        "type": "string",
                        "description": "Ssn\/D number of the bank account owner. This should not be stored anywhere. Only used for ownership verification.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "bankAccountType": {
                        "$ref": "#\/components\/schemas\/enumBankAccountTypeEnum"
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "A flag informing that the bank account is archived.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "allowedForInvoicing": {
                        "type": "boolean",
                        "description": "A flag informing that the bank account is allowed for invoicing (and for PSD2). AllowedForInvoicing = false means that this bank\naccount was not KAR verified.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "RouteV1BookkeepingAccountLedgerModel": {
                "type": "object",
                "properties": {
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "The bookkeeping account no.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "The customer\/supplier name.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgNo": {
                        "type": "string",
                        "description": "The organization number to the customer\/supplier.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sumIngoing": {
                        "type": "number",
                        "description": "Sum of ingoing balance.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumChanged": {
                        "type": "number",
                        "description": "Sum of changed balance.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumOutgoing": {
                        "type": "number",
                        "description": "Sum of outgoing balance.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "ledgerLines": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1LedgerLineModel"
                        },
                        "description": "Array of ledger lines.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1LedgerLineModel"
                        ]
                    }
                }
            },
            "RouteV1BookkeepingAttachmentModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Bookkeeping attachment id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionId": {
                        "type": "integer",
                        "description": "The transaction this attachment belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "openingBalanceId": {
                        "type": "integer",
                        "description": "Identifier for the Opening balance this attachment belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionDraftId": {
                        "type": "integer",
                        "description": "The transaction draft this attachment belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bankAccountReconciliationId": {
                        "type": "integer",
                        "description": "Identifier for the bank account reconciliation which owns this attachment.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "accountingPartnerCaseAttachmentId": {
                        "type": "integer",
                        "description": "Identifier for the accounting partner case attachment which owns this attachment.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "attachmentFileId": {
                        "type": "integer",
                        "description": "The id of the attached transaction file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bookkeepingInboxFileId": {
                        "type": "integer",
                        "description": "References the attachment when coming from the inbox.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "status": {
                        "$ref": "#\/components\/schemas\/enumBookkeepingAttachmentStatusEnum"
                    },
                    "mergedFileId": {
                        "type": "integer",
                        "description": "Identifier for the file which was generated by merging some attachments.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                }
            },
            "RouteV1BookkeepingInboxFileModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the bookkeeping inbox file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "receivedDateTime": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time when the file was uploaded\/received.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "fileId": {
                        "type": "integer",
                        "description": "The ID for the file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "fileUrl": {
                        "type": "string",
                        "description": "Temporary url for the file.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "thumbnailFileUrl": {
                        "type": "string",
                        "description": "Temporary url for the thumbnail of the file.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "urlsExpiryDateTime": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date when the urls will expire.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "filename": {
                        "type": "string",
                        "description": "Name of the file uploaded by the user.",
                        "minLength": 1,
                        "maxLength": 256,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "The optional description.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "size": {
                        "type": "integer",
                        "description": "Size of the file.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "contentType": {
                        "$ref": "#\/components\/schemas\/enumMimeTypeEnum"
                    },
                    "emailFrom": {
                        "type": "string",
                        "format": "email",
                        "description": "The recipient's email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "emailSubject": {
                        "type": "string",
                        "description": "The subject of the email.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "numberOfPages": {
                        "type": "integer",
                        "description": "The number of pages the pdf has.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "title": {
                        "type": "string",
                        "description": "User-editable display title for the inbox file.",
                        "minLength": 1,
                        "maxLength": 256,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "additionalComments": {
                        "type": "string",
                        "description": "User-editable notes related to the file.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                }
            },
            "RouteV1CreateSinglePaymentInputModel": {
                "type": "object",
                "properties": {
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "The date when payment arrived in bank account.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "bankAccountId": {
                        "type": "integer",
                        "description": "The bank account the payment arrived in.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "A text that describes what this partial payment is about. Used to create transaction in the accounting.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "returnPaymentDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date of which this partial payment was returned to the payer.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "departmentId": {
                        "type": "integer",
                        "description": "The department this partial payment belongs to. Used to create transaction in the accounting.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "The project this partial payment belongs to. Used to create transaction in the accounting.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "amount": {
                        "type": "number",
                        "description": "The amount of this partial payment.",
                        "maximum": 99999999999.99,
                        "minimum": 0.01,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Payment\\Model\\RouteV1CreateSinglePaymentInputModel"
                ]
            },
            "RouteV1CreateSinglePaymentOnForeignCurrencyInputModel": {
                "type": "object",
                "properties": {
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "The date when payment arrived in bank account.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "paymentType": {
                        "$ref": "#\/components\/schemas\/enumPaymentTypeEnum"
                    },
                    "bankAccountId": {
                        "type": "integer",
                        "description": "The bank account the payment arrived in.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "paymentId": {
                        "type": "integer",
                        "description": "The ID of the payment this partial payment belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "A text that describes what this partial payment is about.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "returnPaymentDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date of which this partial payment was returned to the payer.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "departmentId": {
                        "type": "integer",
                        "description": "The department this partial payment belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "The project this partial payment belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "amount": {
                        "type": "number",
                        "description": "The amount of this partial payment.",
                        "maximum": 99999999999.99,
                        "minimum": 0.01,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "amountForeignCurrency": {
                        "type": "number",
                        "description": "The amount of this partial payment in foreign currency.",
                        "maximum": 99999999999.99,
                        "minimum": 0.01,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "bankingFees": {
                        "type": "number",
                        "description": "The banking fees.",
                        "maximum": 99999999999.99,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Payment\\Model\\RouteV1CreateSinglePaymentOnForeignCurrencyInputModel"
                ]
            },
            "RouteV1CreditFullInvoiceInputModel": {
                "type": "object",
                "properties": {
                    "removePaymentsIfExist": {
                        "type": "boolean",
                        "description": "Indicates if we should remove the invoice payments.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "creditNoteDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Date for the new credit note.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceRecipients": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1InvoiceRecipientModel"
                        },
                        "description": "An array of recipients for the invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceRecipientModel"
                        ]
                    },
                    "invoiceFileId": {
                        "type": "integer",
                        "description": "The id for the file reference for the uploaded invoice file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceNo": {
                        "type": "integer",
                        "description": "Invoice number is used to identify the invoice. By law it's unique per organization per year. It's a number\nthat the system automatically sets, and it's not modifiable.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "isCreatedInOtherSystem": {
                        "type": "boolean",
                        "description": "Is this invoice originally created in another system than Conta Faktura.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "ehfAdditionalDocumentReference": {
                        "type": "string",
                        "description": "Necessary if this invoice is sent by EHF. (Bestillingsnummer).",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "ehfContractDocumentReference": {
                        "type": "string",
                        "description": "Necessary if this invoice is sent by EHF. (Kontraktsnummer).",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "ehfOrderReference": {
                        "type": "string",
                        "description": "Necessary if this invoice is sent by EHF. (Ordrenummer).",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerReference": {
                        "type": "string",
                        "description": "Text on the PDF that represents the customer reference.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1CreditFullInvoiceInputModel"
                ]
            },
            "RouteV1CustomerContactModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Customer contact id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "Id to the CustomerModel the CustomerContact belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the customer contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the customer contact.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the customer contact.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "title": {
                        "type": "string",
                        "description": "The job title of the customer contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                }
            },
            "RouteV1CustomerModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Customer id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "contacts": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1CustomerContactModel"
                        },
                        "description": "Contacts related to the customer.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Customer\\Model\\RouteV1CustomerContactModel"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the Customer. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerType": {
                        "$ref": "#\/components\/schemas\/enumCustomerTypeEnum"
                    },
                    "orgNo": {
                        "type": "string",
                        "description": "The organization number to the customer. A string between 6 and 50 characters.",
                        "minLength": 0,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the customer. A string between 5 and 200 characters.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the customer. Must be a valid email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "dateOfBirth": {
                        "type": "string",
                        "format": "date",
                        "description": "Date of birth (Used if the customer is a person). A string between 6 and 50 characters.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "parentCompanyNameForNuf": {
                        "type": "string",
                        "description": "Name of the parent company of the Nuf (Only applicable if company is a Nuf).",
                        "minLength": 1,
                        "maxLength": 300,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "daysUntilPaymentReminder": {
                        "type": "integer",
                        "description": "The default number of days from an invoice is created to the due date.",
                        "maximum": 365,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "daysUntilEstimateOverdue": {
                        "type": "integer",
                        "description": "The default number of days from a sale document to be added on the due date.",
                        "maximum": 365,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "defaultInvoiceDiscount": {
                        "type": "number",
                        "description": "The default discount percentage for invoices to this customer.",
                        "maximum": 100,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "customerAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the customers address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the customer. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressCity": {
                        "type": "string",
                        "description": "The name of the city the customer resides in. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerAddressCountry": {
                        "type": "string",
                        "description": "The name of the country the customer resides in. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressPostcode": {
                        "type": "string",
                        "description": "The postcode of the mailing address. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressCity": {
                        "type": "string",
                        "description": "The name of the city of the mailing address. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailingAddressCountry": {
                        "type": "string",
                        "description": "The name of the country for the mailing address. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the delivery address. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressCity": {
                        "type": "string",
                        "description": "The name of the city of the delivery address. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryAddressCountry": {
                        "type": "string",
                        "description": "The name of the country for the mailing address. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "Identification number for this customer in the Visma (Relevant for any user exporting the data to the visma format).",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceDeliveryMethod": {
                        "$ref": "#\/components\/schemas\/enumDeliveryMethodTypeEnum"
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether this customer is archived.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isActive": {
                        "type": "boolean",
                        "description": "No description exists for this property",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "efakturaName": {
                        "type": "string",
                        "description": "Name of the Customer to use for eFaktura.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "efakturaPhoneNo": {
                        "type": "string",
                        "description": "Phone number of the customer to use for eFaktura.",
                        "minLength": 8,
                        "maxLength": 15,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "efakturaEmailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address of the customer to use for eFaktura.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "ehfRecipientOrgNo": {
                        "type": "string",
                        "description": "Ehf recipient organization number, used to have a different ehf recipient from customer's organization number.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Customer\\Model\\RouteV1CustomerModel"
                ]
            },
            "RouteV1DeletePaymentInputModel": {
                "type": "object",
                "properties": [],
                "required": [
                    "id"
                ],
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Payment\\Model\\RouteV1DeletePaymentInputModel"
                ]
            },
            "RouteV1DepartmentModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Department id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the department.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the address to the department. It is normal to be able to split the\naddress information on two textual lines.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the address to the department. It is normal to be able to split\nthe address information on two textual lines.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the department.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressCity": {
                        "type": "string",
                        "description": "City of the department.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentAddressCountry": {
                        "type": "string",
                        "description": "Country of the department.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "homepage": {
                        "type": "string",
                        "description": "Homepage address.",
                        "minLength": 1,
                        "maxLength": 1024,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "contactPerson": {
                        "type": "string",
                        "description": "Name of department contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "logoFileId": {
                        "type": "integer",
                        "description": "File id of the image file containing the logo to the department.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bankAccountId": {
                        "type": "integer",
                        "description": "Id to the department's default bank account.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Creation date of the department.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "Identification number for this customer in the Visma (Relevant for any user exporting the data to the visma format).",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Department\\Model\\RouteV1DepartmentModel"
                ]
            },
            "RouteV1FileMetaDataModel": {
                "type": "object",
                "properties": {
                    "fileId": {
                        "type": "integer",
                        "description": "The id of the file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "displayName": {
                        "type": "string",
                        "description": "The filename that describes the file contents the best (a recommended filename - not an actual filename).",
                        "minLength": 1,
                        "maxLength": 256,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "size": {
                        "type": "integer",
                        "description": "Size (in bytes) of the file.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "directory": {
                        "type": "string",
                        "description": "The directory the file resides in (Also popularly referred to as the bucket).",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "filename": {
                        "type": "string",
                        "description": "The identifying name the file which resides in the directory (Also popularly referred to as the key).",
                        "minLength": 1,
                        "maxLength": 256,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "contentType": {
                        "$ref": "#\/components\/schemas\/enumMimeTypeEnum"
                    },
                    "numberOfPages": {
                        "type": "integer",
                        "description": "The number of pages the pdf has.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                }
            },
            "RouteV1FindBookkeepingAccountsOutputModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Bookkeeping account id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "The account number for the bookkeeping account.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "vatCode": {
                        "$ref": "#\/components\/schemas\/enumVatCodeTypeEnum"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of this bookkeeping account.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "The description of this bookkeeping account.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "keywords": {
                        "type": "string",
                        "description": "The keywords for this bookkeeping account.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "isActive": {
                        "type": "boolean",
                        "description": "Is the bookkeeping account active or not.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "bookkeepingAccountGroupId": {
                        "type": "integer",
                        "description": "The group this bookkeeping account belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date\/time when the account was created.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "modifiedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date\/time when the account was last modified.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "isLocked": {
                        "type": "boolean",
                        "description": "Whether the bookkeeping account is locked and cannot be deactivated.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "RouteV1GetContaEhfRecipientInfoOutputModel": {
                "type": "object",
                "properties": {
                    "peppolVersion": {
                        "type": "string",
                        "description": "Peppol server information.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "inputValid": {
                        "type": "boolean",
                        "description": "If search input was valid.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "participantIdentifier": {
                        "type": "string",
                        "description": "Participant identifier.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "invoice": {
                        "type": "string",
                        "description": "Invoice document type.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "canReceiveInvoices": {
                        "type": "boolean",
                        "description": "If participant can receive invoices via EHF.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "creditNote": {
                        "type": "string",
                        "description": "Credit note document type.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "canReceiveCreditNotes": {
                        "type": "boolean",
                        "description": "If participant can receive credit notes via EHF.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "canReceiveEhf30": {
                        "type": "boolean",
                        "description": "If org can receive ehf 3.0.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "serviceDescription": {
                        "type": "string",
                        "description": "EHF service description used by the customer (Conta, Elma, etc.).",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "accessPointAddress": {
                        "type": "string",
                        "description": "XML data with endpoint information.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Integration\\ContaEhf\\Model\\RouteV1GetContaEhfRecipientInfoOutputModel"
                ]
            },
            "RouteV1GetTrialBalanceOutputModel": {
                "type": "object",
                "properties": {
                    "trialBalanceOutputSub": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1GetTrialBalanceOutputSubModel"
                        },
                        "description": "Report line representing the different bookkeeping accounts.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Reports\\TransactionLine\\Model\\RouteV1GetTrialBalanceOutputSubModel"
                        ]
                    },
                    "sumIngoing": {
                        "type": "number",
                        "description": "The sum before the start date.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumChanged": {
                        "type": "number",
                        "description": "The sum changed in the period.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumOutgoing": {
                        "type": "number",
                        "description": "The sum on the end date.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Reports\\TransactionLine\\Model\\RouteV1GetTrialBalanceOutputModel"
                ]
            },
            "RouteV1GetTrialBalanceOutputSubModel": {
                "type": "object",
                "properties": {
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "Bookkeeping account number.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "bookkeepingAccountName": {
                        "type": "string",
                        "description": "Bookkeeping account name.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "sumIngoing": {
                        "type": "number",
                        "description": "The sum before the start date.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumChanged": {
                        "type": "number",
                        "description": "The sum changed in the period.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumOutgoing": {
                        "type": "number",
                        "description": "The sum on the end date.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    }
                }
            },
            "RouteV1GetUnpaidInvoicesAndKeyFiguresOutputModel": {
                "type": "object",
                "properties": {
                    "sumExpired": {
                        "type": "number",
                        "description": "The sum of all expired invoices.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumUnpaid": {
                        "type": "number",
                        "description": "The sum of all unpaid invoices.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "invoices": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1UnpaidInvoiceListItemModel"
                        },
                        "description": "Array of the top unpaid invoices.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1UnpaidInvoiceListItemModel"
                        ]
                    },
                    "hasPaidInvoices": {
                        "type": "boolean",
                        "description": "Flag indicating if there are paid invoices for the same period.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1GetUnpaidInvoicesAndKeyFiguresOutputModel"
                ]
            },
            "RouteV1IncomeAndExpensesOutputModel": {
                "type": "object",
                "properties": {
                    "sumIncome": {
                        "type": "number",
                        "description": "Sum income.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumExpenses": {
                        "type": "number",
                        "description": "Sum expenses.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumResult": {
                        "type": "number",
                        "description": "Sum result.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "income": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Monthly income values.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_MIXED"
                        ]
                    },
                    "expenses": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Monthly expenses values.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_MIXED"
                        ]
                    },
                    "result": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Monthly result values.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_MIXED"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\IncomeAndExpenses\\Model\\RouteV1IncomeAndExpensesOutputModel"
                ]
            },
            "RouteV1InvoiceDraftLineModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice draft line Id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "productId": {
                        "type": "integer",
                        "description": "Id to the product associated with this invoice line.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the invoice line, appears on the PDF.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "price": {
                        "type": "number",
                        "description": "The price ex. VAT per unit for the invoice line. Price in NOK.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "quantity": {
                        "type": "number",
                        "description": "The quantity of units on this invoice line.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "discount": {
                        "type": "number",
                        "description": "Discount for the invoice line. In percent.",
                        "maximum": 100,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "sumDiscount": {
                        "type": "number",
                        "description": "Discount for the invoice line. In NOK.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "sumNet": {
                        "type": "number",
                        "description": "The total net sum for this invoice line. (Net means without VAT).",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "vatCode": {
                        "$ref": "#\/components\/schemas\/enumRouteV1VatCodeTypeConst"
                    },
                    "vatId": {
                        "type": "integer",
                        "description": "Id to the vat associated with this invoice line.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "lineNo": {
                        "type": "integer",
                        "description": "Where in the order this invoice line appears on the invoice. First invoice line has number 1,\nthe second number 2, and so on.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceDraftId": {
                        "type": "integer",
                        "description": "Id to the invoice this invoice line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "The bookkeeping account number for this invoice line.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    }
                }
            },
            "RouteV1InvoiceDraftModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice draft Id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceDraftLines": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1InvoiceDraftLineModel"
                        },
                        "description": "An array of all the InvoiceLines belonging to the Invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\InvoiceDraft\\Model\\RouteV1InvoiceDraftLineModel"
                        ]
                    },
                    "sumVAT": {
                        "type": "number",
                        "description": "The total VAT for the invoice.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumNet": {
                        "type": "number",
                        "description": "The net sum for the invoice (total without VAT).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumRemaining": {
                        "type": "number",
                        "description": "The amount remaining to be paid on the invoice.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumTotal": {
                        "type": "number",
                        "description": "The gross total of the invoice, including VAT.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "attachmentFileId": {
                        "type": "integer",
                        "description": "The id for the file reference for the uploaded attachment file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "type": {
                        "$ref": "#\/components\/schemas\/enumInvoiceTypeEnum"
                    },
                    "departmentId": {
                        "type": "integer",
                        "description": "Identifier of the department the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "Id to the project the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "Id to the customer the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerGroupId": {
                        "type": "integer",
                        "description": "Id to the customer group in case of mass invoice.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceLanguage": {
                        "$ref": "#\/components\/schemas\/enumLanguageEnum"
                    },
                    "invoiceCurrency": {
                        "type": "string",
                        "description": "Which currency was the invoice created in. Defaults to NOK.",
                        "minLength": 3,
                        "maxLength": 3,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "exchangeRate": {
                        "type": "number",
                        "description": "The exchange rate used in the invoice.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "exchangeRateReferenceDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date the exchange rate was obtained.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "personalMessage": {
                        "type": "string",
                        "description": "Personal message that appears on the invoice PDF.",
                        "minLength": 1,
                        "maxLength": 300,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerReference": {
                        "type": "string",
                        "description": "Text on the PDF that represents the customer reference.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerReferenceContactId": {
                        "type": "integer",
                        "description": "Identifier of the customer contact whose name exactly matches the draft's customer reference, or null.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "saleId": {
                        "type": "integer",
                        "description": "If the invoice was created for a sale, it will be connected to a sale id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "registrationSource": {
                        "$ref": "#\/components\/schemas\/enumInvoiceDraftRegistrationSourceEnum"
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\InvoiceDraft\\Model\\RouteV1InvoiceDraftModel"
                ]
            },
            "RouteV1InvoiceLineModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice line id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "Id to the invoice this invoice line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "The bookkeeping account number for this invoice line.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "productId": {
                        "type": "integer",
                        "description": "Id to the product associated with this invoice line.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the invoice line, appears on the PDF.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "price": {
                        "type": "number",
                        "description": "The price ex. VAT per unit for the invoice line. Price in NOK.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "quantity": {
                        "type": "number",
                        "description": "The quantity of units on this invoice line.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "discount": {
                        "type": "number",
                        "description": "Discount for the invoice line. In percent.",
                        "maximum": 100,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "sumDiscount": {
                        "type": "number",
                        "description": "Discount for the invoice line. In NOK.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "sumNet": {
                        "type": "number",
                        "description": "The total net sum for this invoice line. (Net means without VAT).",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "vatCode": {
                        "$ref": "#\/components\/schemas\/enumRouteV1VatCodeTypeConst"
                    },
                    "vatId": {
                        "type": "integer",
                        "description": "Id to the vat associated with this invoice line.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "lineNo": {
                        "type": "integer",
                        "description": "Where in the order this invoice line appears on the invoice. First invoice line has number 1,\nthe second number 2, and so on.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                }
            },
            "RouteV1InvoiceModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceLines": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1InvoiceLineModel"
                        },
                        "description": "An array of all the InvoiceLines belonging to the Invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceLineModel"
                        ]
                    },
                    "invoiceVatInfos": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1InvoiceVatInfoModel"
                        },
                        "description": "An array with information about all the vat types used on this invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceVatInfoModel"
                        ]
                    },
                    "invoiceRecipients": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1InvoiceRecipientModel"
                        },
                        "description": "Methods to use when sending invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceRecipientModel"
                        ]
                    },
                    "invoiceRepeat": {
                        "$ref": "#\/components\/schemas\/RouteV1InvoiceRepeatModel"
                    },
                    "invoicePaymentReminder": {
                        "$ref": "#\/components\/schemas\/RouteV1InvoicePaymentReminderModel"
                    },
                    "invoiceNo": {
                        "type": "integer",
                        "description": "Invoice number is used to identify the invoice. By law it's unique per organization per year. It's a number\nthat the system automatically sets, and it's not modifiable.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date the invoice was made.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceDueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The due date for the invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "sumVAT": {
                        "type": "number",
                        "description": "The total VAT for the invoice.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumNet": {
                        "type": "number",
                        "description": "The net sum for the invoice (total without VAT).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumRemaining": {
                        "type": "number",
                        "description": "The amount remaining to be paid on the invoice.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumTotal": {
                        "type": "number",
                        "description": "The gross total of the invoice, including VAT.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "followUpDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Initially set to the due date of the invoice. Automatically set to the due date of the payment\nreminder when the payment reminder is created. This date may be overruled by the user in order to\ntemporary remove the invoice from the 'past due' lists.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceFileId": {
                        "type": "integer",
                        "description": "The id for the file reference for the uploaded invoice file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "attachmentFileId": {
                        "type": "integer",
                        "description": "The id for the file reference for the uploaded attachment file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "status": {
                        "$ref": "#\/components\/schemas\/enumInvoiceStatusEnum"
                    },
                    "type": {
                        "$ref": "#\/components\/schemas\/enumInvoiceTypeEnum"
                    },
                    "departmentId": {
                        "type": "integer",
                        "description": "Identifier of the department the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "Id to the project the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "Id to the customer the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceLanguage": {
                        "$ref": "#\/components\/schemas\/enumLanguageEnum"
                    },
                    "invoiceCurrency": {
                        "type": "string",
                        "description": "Which currency was the invoice created in. Defaults to NOK.",
                        "minLength": 3,
                        "maxLength": 3,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "exchangeRate": {
                        "type": "number",
                        "description": "The exchange rate used in the invoice.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "exchangeRateReferenceDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date the exchange rate was obtained.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "personalMessage": {
                        "type": "string",
                        "description": "Personal message that appears on the invoice PDF.",
                        "minLength": 1,
                        "maxLength": 300,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerReference": {
                        "type": "string",
                        "description": "Text on the PDF that represents the customer reference.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "ehfAdditionalDocumentReference": {
                        "type": "string",
                        "description": "Necessary if this invoice is sent by EHF. (Bestillingsnummer).",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "ehfContractDocumentReference": {
                        "type": "string",
                        "description": "Necessary if this invoice is sent by EHF. (Kontraktsnummer).",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "ehfOrderReference": {
                        "type": "string",
                        "description": "Necessary if this invoice is sent by EHF. (Ordrenummer).",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "isCreatedInOtherSystem": {
                        "type": "boolean",
                        "description": "Is this invoice originally created in another system than Conta Faktura.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "kid": {
                        "type": "string",
                        "description": "KID-number on the invoice, makes it possible for automatic registration of payments.",
                        "minLength": 2,
                        "maxLength": 35,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The delivery date of the products on the invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "deliveryAddress": {
                        "type": "string",
                        "description": "Primary line containing information about the delivery address.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryPostcode": {
                        "type": "string",
                        "description": "The postcode for the delivery address.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryCity": {
                        "type": "string",
                        "description": "The name of the city of the delivery address.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryCountry": {
                        "type": "string",
                        "description": "The name of the country for the delivery address.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "saleId": {
                        "type": "integer",
                        "description": "If the invoice was created for a sale, it will be connected to a sale id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "orgReference": {
                        "type": "string",
                        "description": "Text representing the organization reference for this invoice. Displayed on the PDF.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "creditedInvoiceNo": {
                        "type": "integer",
                        "description": "The invoice number of the invoice that was credited. Used on only credit notes.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditedInvoiceDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The invoice date of the credited invoice. Used only on credit notes.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "creditedInvoiceId": {
                        "type": "integer",
                        "description": "The invoice id of the invoice that was credited. Used on only credit notes.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bankAccountId": {
                        "type": "integer",
                        "description": "Identifier of the bank account the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "thumbnailFileId": {
                        "type": "integer",
                        "description": "The id of the file for the uploaded invoice thumbnail image file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "parentInvoiceId": {
                        "type": "integer",
                        "description": "Identifier for the invoice that originated the repeated invoice.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "showDiscount": {
                        "type": "boolean",
                        "description": "Whether to show discount column on the invoice PDF.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceModel"
                ]
            },
            "RouteV1InvoicePaymentReminderModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice payment reminder id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "The id for the invoice that is related.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionId": {
                        "type": "integer",
                        "description": "The id for the transaction that is related.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "fileId": {
                        "type": "integer",
                        "description": "The id for the file reference for the past due notice pdf file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "Date when the payment reminder was created.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "dueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The due date for the payment reminder.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "fee": {
                        "type": "number",
                        "description": "The extra fee added when creating the payment reminder.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "interest": {
                        "type": "number",
                        "description": "Interest added when creating the payment reminder.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "paymentReminderType": {
                        "$ref": "#\/components\/schemas\/enumPaymentReminderTypeEnum"
                    },
                    "language": {
                        "$ref": "#\/components\/schemas\/enumLanguageEnum"
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoicePaymentReminderModel"
                ]
            },
            "RouteV1InvoiceRecipientModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice recipient id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "Id to the invoice this recipient line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "type": {
                        "$ref": "#\/components\/schemas\/enumDeliveryMethodTypeEnum"
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to send invoice to.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "emailRecipientType": {
                        "$ref": "#\/components\/schemas\/enumEmailRecipientTypeEnum"
                    },
                    "emailSubject": {
                        "type": "string",
                        "description": "Email subject.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailContent": {
                        "type": "string",
                        "description": "Email message.",
                        "minLength": 1,
                        "maxLength": 65535,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "includeInvoiceInfo": {
                        "type": "boolean",
                        "description": "Include invoice info in email.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "includeInvoiceAttachment": {
                        "type": "boolean",
                        "description": "Include the invoice attachment file as an attachment.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "includeDefaultAttachment": {
                        "type": "boolean",
                        "description": "Include the default invoice attachment file as an attachment.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "ehfRecipient": {
                        "type": "string",
                        "description": "EHF recipient (organization number).",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number of the invoice reipient.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Recipient name.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "Private recipient id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "mailAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the mailing address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailAddressPostcode": {
                        "type": "string",
                        "description": "The postcode of the mailing address. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailAddressCity": {
                        "type": "string",
                        "description": "The name of the city of the mailing address. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "mailAddressCountryCode": {
                        "type": "string",
                        "description": "The code of the country for the mailing address. It must be exactly two characters.",
                        "minLength": 2,
                        "maxLength": 2,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                }
            },
            "RouteV1InvoiceRepeatModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice repeat id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdByUserId": {
                        "type": "integer",
                        "description": "User id.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "frequency": {
                        "$ref": "#\/components\/schemas\/enumInvoiceRepeatFrequencyEnum"
                    },
                    "nextRepeatDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Next due date.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "description": "End date.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "Id to the invoice this invoice line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "scheduledInvoiceId": {
                        "type": "integer",
                        "description": "Id to the scheduled invoice this invoice repeat belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Identifier of the organization that the repeating invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "updatePrices": {
                        "type": "boolean",
                        "description": "Invoice line prices should automatically be updated, true\/false.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Invoice\\Model\\RouteV1InvoiceRepeatModel"
                ]
            },
            "RouteV1InvoiceVatInfoModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice VAT info id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "The invoice this model belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "vatId": {
                        "type": "integer",
                        "description": "Id to the vat associated with this invoice vat info.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sumBasis": {
                        "type": "number",
                        "description": "The net sum on the invoice which belongs to this vat type.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumVat": {
                        "type": "number",
                        "description": "The sum of the vat on the invoice of this vat type.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "vatPercent": {
                        "type": "number",
                        "description": "The vat rate of this vat type (at the time of the invoice date), in percent.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1LedgerLineModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The ID of the ledger line.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "The date of the ledger line.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "dueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Due date this transaction line will be accounted in books.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "description": {
                        "type": "string",
                        "description": "The description of the ledger line.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "amount": {
                        "type": "number",
                        "description": "The amount of the ledger line. Negative means credited, positive means debited.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "The bookkeeping account number. Contains 4 digits, e.g. 3200.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "bookkeepingAccountName": {
                        "type": "string",
                        "description": "The name of the bookkeeping account.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "vatCode": {
                        "$ref": "#\/components\/schemas\/enumVatCodeTypeConst"
                    },
                    "vatDisplayCode": {
                        "type": "string",
                        "description": "The VAT display code.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "specification": {
                        "$ref": "#\/components\/schemas\/enumVatSpecificationTypeEnum"
                    },
                    "transactionId": {
                        "type": "integer",
                        "description": "The ID of the transaction this ledger line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionNo": {
                        "type": "integer",
                        "description": "The number of the transaction this ledger line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionNoYear": {
                        "type": "string",
                        "description": "TransactionNo which includes year, e.g. 2-2017.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "transactionSourceType": {
                        "$ref": "#\/components\/schemas\/enumTransactionSourceTypeEnum"
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "The ID of the customer this ledger line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerName": {
                        "type": "string",
                        "description": "The name of the customer this ledger line belongs to.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerOrgNo": {
                        "type": "string",
                        "description": "The organization number of the customer.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "supplierId": {
                        "type": "integer",
                        "description": "The ID of the supplier this ledger line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "supplierName": {
                        "type": "string",
                        "description": "The name of the supplier this ledger line belongs to.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "supplierOrgNo": {
                        "type": "string",
                        "description": "The organization number of the supplier.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "The ID of the project this ledger line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "projectName": {
                        "type": "string",
                        "description": "The name of the project this ledger line belongs to.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentId": {
                        "type": "integer",
                        "description": "The ID of the department this ledger line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "departmentName": {
                        "type": "string",
                        "description": "The name of the department this ledger line belongs to.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "closedAt": {
                        "type": "string",
                        "format": "date",
                        "description": "The date the transaction line was closed.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "transactionLineClosedId": {
                        "type": "integer",
                        "description": "Id created if line is closed. Must be used to reopen.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "The ID of the invoice this ledger line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceNo": {
                        "type": "string",
                        "description": "The invoice number.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "isResetTransaction": {
                        "type": "boolean",
                        "description": "Flag that indicates if the transaction represents a reset transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "resetByTransactionId": {
                        "type": "integer",
                        "description": "The transactionId of the transaction that reset this one, if applicable.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditNoteId": {
                        "type": "integer",
                        "description": "The ID of the credit note.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditNoteNo": {
                        "type": "integer",
                        "description": "The credit note number.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "isCorrection": {
                        "type": "boolean",
                        "description": "A flag informing if the ledger line is a correction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "RouteV1LedgerReportModel": {
                "type": "object",
                "properties": {
                    "bookkeepingAccountLedgers": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1BookkeepingAccountLedgerModel"
                        },
                        "description": "The list of BookkeepingAccountLedgers.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Reports\\Model\\RouteV1BookkeepingAccountLedgerModel"
                        ]
                    },
                    "totalAmount": {
                        "type": "number",
                        "description": "The total amount of the ledgers.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Reports\\Model\\RouteV1LedgerReportModel"
                ]
            },
            "RouteV1OrgSubscriptionPlanModel": {
                "type": "object",
                "properties": {
                    "orgId": {
                        "type": "integer",
                        "description": "The organization id.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "validFrom": {
                        "type": "string",
                        "format": "date",
                        "description": "The date when the subscription was started.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "validTo": {
                        "type": "string",
                        "format": "date",
                        "description": "The date to when the subscription is valid.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "trialValidTo": {
                        "type": "string",
                        "format": "date",
                        "description": "The date to when free trial period is valid.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "offerLockPeriod": {
                        "type": "string",
                        "format": "date",
                        "description": "The deadline for the offer. Until then, the user should not be able to make changes to the subscription.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "subscriptionPlanPriceId": {
                        "type": "integer",
                        "description": "The id for the subscription plan price.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "autoRenewSubscriptionPlanId": {
                        "type": "integer",
                        "description": "The autoRenewSubscriptionPlanId is when user wants to move new plan.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceLimit": {
                        "type": "integer",
                        "description": "How many invoice user can send in particular subscription plan.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "registrationByUserId": {
                        "type": "integer",
                        "description": "Id from user that registered the subscription plan.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "registrationSource": {
                        "$ref": "#\/components\/schemas\/enumSubscriptionRegistrationSourceTypeEnum"
                    },
                    "allowedFeatures": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The features allowed in this subscription plan.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_MIXED"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Subscription\\OrgSubscriptionPlan\\Model\\RouteV1OrgSubscriptionPlanModel"
                ]
            },
            "RouteV1OrgUserAccessModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Identifier of the org.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Organization name.",
                        "minLength": 1,
                        "maxLength": 300,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "blockedStatus": {
                        "$ref": "#\/components\/schemas\/enumOrgBlockedStatusEnum"
                    },
                    "active": {
                        "type": "boolean",
                        "description": "Flag indicating if the access is active.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "RouteV1PartialPaymentModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Partial payment id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "The date when payment arrived in bank account.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "amount": {
                        "type": "number",
                        "description": "Sum of payment (with two decimals).",
                        "maximum": 99999999999.99,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "amountForeignCurrency": {
                        "type": "number",
                        "description": "The foreign currency amount of this partial payment.",
                        "maximum": 99999999999.99,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "Invoice id that payment belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "paymentId": {
                        "type": "integer",
                        "description": "The ID of the payment this partial payment belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                }
            },
            "RouteV1PaymentModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Payment id.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "paymentType": {
                        "$ref": "#\/components\/schemas\/enumPaymentTypeEnum"
                    },
                    "transactionId": {
                        "type": "integer",
                        "description": "Transaction id that payment belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "isFromKravia": {
                        "type": "boolean",
                        "description": "From Kravia.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isMultiPayment": {
                        "type": "boolean",
                        "description": "If this is a payment consisting of several parts towards multiple invoices.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "totalAmount": {
                        "type": "number",
                        "description": "Total sum of all partial payments.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "partialPayments": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1PartialPaymentModel"
                        },
                        "description": "An array of partial payments.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Payment\\Model\\RouteV1PartialPaymentModel"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Payment\\Model\\RouteV1PaymentModel"
                ]
            },
            "RouteV1PeriodizationModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The ID of periodization record.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "The ID of the org this periodization belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionId": {
                        "type": "integer",
                        "description": "The ID of the transaction this periodization belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionDraftId": {
                        "type": "integer",
                        "description": "The ID of the transactionDraft this periodization belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionHistoryId": {
                        "type": "integer",
                        "description": "The ID of the transactionHistory this periodization belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "description": "When the periodization starts.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "enum": [
                            "1700",
                            "1701",
                            "1702",
                            "1703",
                            "1704",
                            "1705",
                            "1706",
                            "1707",
                            "1708",
                            "1709",
                            "1710",
                            "1711",
                            "1712",
                            "1713",
                            "1714",
                            "1715",
                            "1716",
                            "1717",
                            "1718",
                            "1719",
                            "1720",
                            "1721",
                            "1722",
                            "1723",
                            "1724",
                            "1725",
                            "1726",
                            "1727",
                            "1728",
                            "1729",
                            "1730",
                            "1731",
                            "1732",
                            "1733",
                            "1734",
                            "1735",
                            "1736",
                            "1737",
                            "1738",
                            "1739",
                            "1740",
                            "1741",
                            "1742",
                            "1743",
                            "1744",
                            "1745",
                            "1746",
                            "1747",
                            "1748",
                            "1749",
                            "1750",
                            "1751",
                            "1752",
                            "1753",
                            "1754",
                            "1755",
                            "1756",
                            "1757",
                            "1758",
                            "1759",
                            "1760",
                            "1761",
                            "1762",
                            "1763",
                            "1764",
                            "1765",
                            "1766",
                            "1767",
                            "1768",
                            "1769",
                            "1770",
                            "1771",
                            "1772",
                            "1773",
                            "1774",
                            "1775",
                            "1776",
                            "1777",
                            "1778",
                            "1779",
                            "1780",
                            "1781",
                            "1782",
                            "1783",
                            "1784",
                            "1785",
                            "1786",
                            "1787",
                            "1788",
                            "1789",
                            "1790",
                            "1791",
                            "1792",
                            "1793",
                            "1794",
                            "1795",
                            "1796",
                            "1797",
                            "1798",
                            "1799",
                            "2900",
                            "2901",
                            "2902",
                            "2903",
                            "2904",
                            "2905",
                            "2906",
                            "2907",
                            "2908",
                            "2909",
                            "2960",
                            "2965"
                        ],
                        "description": "The bookkeeping account number this perioization has used.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ELEMENT",
                            [
                                "1700",
                                "1701",
                                "1702",
                                "1703",
                                "1704",
                                "1705",
                                "1706",
                                "1707",
                                "1708",
                                "1709",
                                "1710",
                                "1711",
                                "1712",
                                "1713",
                                "1714",
                                "1715",
                                "1716",
                                "1717",
                                "1718",
                                "1719",
                                "1720",
                                "1721",
                                "1722",
                                "1723",
                                "1724",
                                "1725",
                                "1726",
                                "1727",
                                "1728",
                                "1729",
                                "1730",
                                "1731",
                                "1732",
                                "1733",
                                "1734",
                                "1735",
                                "1736",
                                "1737",
                                "1738",
                                "1739",
                                "1740",
                                "1741",
                                "1742",
                                "1743",
                                "1744",
                                "1745",
                                "1746",
                                "1747",
                                "1748",
                                "1749",
                                "1750",
                                "1751",
                                "1752",
                                "1753",
                                "1754",
                                "1755",
                                "1756",
                                "1757",
                                "1758",
                                "1759",
                                "1760",
                                "1761",
                                "1762",
                                "1763",
                                "1764",
                                "1765",
                                "1766",
                                "1767",
                                "1768",
                                "1769",
                                "1770",
                                "1771",
                                "1772",
                                "1773",
                                "1774",
                                "1775",
                                "1776",
                                "1777",
                                "1778",
                                "1779",
                                "1780",
                                "1781",
                                "1782",
                                "1783",
                                "1784",
                                "1785",
                                "1786",
                                "1787",
                                "1788",
                                "1789",
                                "1790",
                                "1791",
                                "1792",
                                "1793",
                                "1794",
                                "1795",
                                "1796",
                                "1797",
                                "1798",
                                "1799",
                                "2900",
                                "2901",
                                "2902",
                                "2903",
                                "2904",
                                "2905",
                                "2906",
                                "2907",
                                "2908",
                                "2909",
                                "2960",
                                "2965"
                            ],
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "months": {
                        "type": "integer",
                        "description": "How many months we need to add periodization.",
                        "maximum": 36,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1PeriodizationModel"
                ]
            },
            "RouteV1ProductModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Product id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "productImportId": {
                        "type": "integer",
                        "description": "The identification of the import operation that generated this product.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Description of the product. A string between 2 and 500 characters.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "The bookkeeping account number associated with the product.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "displayIsIncludingVat": {
                        "type": "boolean",
                        "description": "Indicates whether the GUI should display the price including vat.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The date and time the product was created.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "vatCode": {
                        "type": "string",
                        "enum": [
                            "input.no.vat",
                            "output.high",
                            "output.medium",
                            "output.low",
                            "output.zero.rate",
                            "output.exempted",
                            "output.export"
                        ],
                        "description": "The VAT code for the product.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ELEMENT",
                            [
                                "input.no.vat",
                                "output.high",
                                "output.medium",
                                "output.low",
                                "output.zero.rate",
                                "output.exempted",
                                "output.export"
                            ],
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "price": {
                        "type": "number",
                        "description": "The price for a unit of the product.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "productNo": {
                        "type": "string",
                        "description": "The product number for the product. A string no longer than 50 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether this product is archived.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isActive": {
                        "type": "boolean",
                        "description": "No description exists for this property",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Product\\Product\\Model\\RouteV1ProductModel"
                ]
            },
            "RouteV1ProjectModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Project id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the project.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the project.",
                        "minLength": 1,
                        "maxLength": 65535,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "description": "First date of the project (optional).",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Last date of the project (optional).",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "The id to the customer this project is connected to (optional).",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "Identification number for this customer in the Visma (Relevant for any user exporting the data to the visma format).",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the project is archived.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isHidden": {
                        "type": "boolean",
                        "description": "No description exists for this property",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\Project\\Model\\RouteV1ProjectModel"
                ]
            },
            "RouteV1QueryResultBookkeepingInboxFileListModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/BookkeepingInboxFileListModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultEnhetsregisteretListModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/EnhetsregisteretListModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultInvoiceEventListModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/InvoiceEventListModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultInvoiceListExtendedInfoModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/InvoiceListExtendedInfoModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultInvoiceListExtendedModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/InvoiceListExtendedModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultInvoicePaymentListModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/InvoicePaymentListModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultProductCsListModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/ProductCsListModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultRouteV1TransactionForJournalModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1TransactionForJournalModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultSupplierContactModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/SupplierContactModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultSupplierCsListModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/SupplierCsListModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1QueryResultTransactionSearchOutputModel": {
                "type": "object",
                "properties": {
                    "hits": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/TransactionSearchOutputModel"
                        }
                    },
                    "hitCount": {
                        "type": "integer",
                        "description": "Number of hits located by the search.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "pageCount": {
                        "type": "integer",
                        "description": "Number of pages located by the search. Value also depends on how many hits specified by per page by the query.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sum": {
                        "type": "number",
                        "description": "Sum of the property returned by getCfgSumProperty.",
                        "maximum": 1.7976931348623157e+308,
                        "minimum": -1.7976931348623157e+308,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1ReadUserRepresentationOutputModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the user.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "firstName": {
                        "type": "string",
                        "description": "First name of the user.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "lastName": {
                        "type": "string",
                        "description": "The last name of the user.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "The user's email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "language": {
                        "$ref": "#\/components\/schemas\/enumLanguageEnum"
                    },
                    "defaultOrgId": {
                        "type": "integer",
                        "description": "The id of the organization the user will be using as default when logging into the system.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "role": {
                        "$ref": "#\/components\/schemas\/enumUserRoleEnum"
                    },
                    "isAccountant": {
                        "type": "boolean",
                        "description": "Is the user an accountant for the org.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "registrationSource": {
                        "$ref": "#\/components\/schemas\/enumRegistrationSourceEnum"
                    },
                    "blockedStatus": {
                        "$ref": "#\/components\/schemas\/enumUserBlockedStatusEnum"
                    },
                    "is2FaActivated": {
                        "type": "boolean",
                        "description": "The user's two-factor authentication status.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "verificationToken": {
                        "type": "string",
                        "description": "Token to be used when the user is accessing public routes before validating the email address.",
                        "minLength": 10,
                        "maxLength": 10,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "newEmailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "The user's new email address when updating it in the system. Not yet confirmed.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The user creation date.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "receiveInvoicePastDueEmail": {
                        "type": "boolean",
                        "description": "Will the user receive notification on email when invoices are past due.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receivePaymentReminderPastDueEmail": {
                        "type": "boolean",
                        "description": "Will the user receive notification on email when payment reminders are past due.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveContaNewsletterEmails": {
                        "type": "boolean",
                        "description": "Will the user receive newsletters from Conta.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveDebtCollectionPastDueEmail": {
                        "type": "boolean",
                        "description": "Will the user receive notification on email when a debt collection is past due.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveEmailWhenImportingEhf": {
                        "type": "boolean",
                        "description": "Will the user receive notifications on email when an EHF document is received.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveImportantDateReminderEmail": {
                        "type": "boolean",
                        "description": "Will the user receive important date reminder emails.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveRepeatingInvoiceReminderEmail": {
                        "type": "boolean",
                        "description": "Will the user receive repeating invoice reminder emails.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveOnboardingEmail": {
                        "type": "boolean",
                        "description": "Will the user receive onboarding emails.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\User\\UserRepresentation\\Model\\RouteV1ReadUserRepresentationOutputModel"
                ]
            },
            "RouteV1SupplierContactModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Supplier contact id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "supplierId": {
                        "type": "integer",
                        "description": "Id to the SupplierModel the SupplierContact belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the supplier contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the supplier contact.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the supplier contact.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "title": {
                        "type": "string",
                        "description": "The job title of the supplier contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Supplier\\Supplier\\Model\\RouteV1SupplierContactModel"
                ]
            },
            "RouteV1SupplierModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Supplier id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "contacts": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1SupplierContactModel"
                        },
                        "description": "Contacts related to the supplier.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Supplier\\Supplier\\Model\\RouteV1SupplierContactModel"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the supplier. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgNo": {
                        "type": "string",
                        "description": "The organization number to the supplier. A string between 6 and 50 characters.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the supplier. A string between 5 and 200 characters.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the supplier. Must be a valid email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "supplierImportId": {
                        "type": "integer",
                        "description": "The identification of the import operation that generated this supplier.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "supplierAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the supplier address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "supplierAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the supplier address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "supplierAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the supplier. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "supplierAddressCity": {
                        "type": "string",
                        "description": "The name of the city the supplier resides in. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "supplierAddressCountry": {
                        "type": "string",
                        "description": "The name of the country the supplier resides in. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "Identification number for this supplier in the Visma (Relevant for any user exporting the data to the visma format).",
                        "maximum": 9223372036854775807,
                        "minimum": 20001,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bankAccountNo": {
                        "type": "string",
                        "description": "Bank account number or BBAN.",
                        "minLength": 8,
                        "maxLength": 15,
                        "pattern": "^([0-9\\s\\.])+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BANK_ACCOUNT_NO"
                        ]
                    },
                    "iban": {
                        "type": "string",
                        "description": "IBAN is the european bank account series, which i used for receiving transfers from Europe.",
                        "minLength": 14,
                        "maxLength": 34,
                        "pattern": "^(?=[A-Z]{2}\\d{2})([A-Z]{2}\\d{2})([A-Z\\d]+)$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_IBAN"
                        ]
                    },
                    "swift": {
                        "type": "string",
                        "description": "Swift is the banks international code which is used for receiving transfers from foreign countries. Swift is\nsometimes referred to as BIC, but it is only different names for the same code.",
                        "minLength": 8,
                        "maxLength": 11,
                        "pattern": "^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_SWIFT"
                        ]
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Supplier\\Supplier\\Model\\RouteV1SupplierModel"
                ]
            },
            "RouteV1TemporaryFileInfoLinkModel": {
                "type": "object",
                "properties": {
                    "fileId": {
                        "type": "integer",
                        "description": "Identifier of the file stored in the database.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "filename": {
                        "type": "string",
                        "description": "Original name of the file.",
                        "minLength": 1,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "fileUrl": {
                        "type": "string",
                        "description": "Url for where to locate the downloaded file.",
                        "minLength": 1,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "contentType": {
                        "$ref": "#\/components\/schemas\/enumMimeTypeEnum"
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Common\\File\\Model\\RouteV1TemporaryFileInfoLinkModel"
                ]
            },
            "RouteV1TransactionAttachmentModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the transaction attachment.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "attachmentFileId": {
                        "type": "integer",
                        "description": "Identifier for the file.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bookkeepingInboxFileId": {
                        "type": "integer",
                        "description": "References the attachment when coming from the inbox.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "fileUrl": {
                        "type": "string",
                        "description": "Temporary url for the file.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "filename": {
                        "type": "string",
                        "description": "Name of the file uploaded by the user.",
                        "minLength": 1,
                        "maxLength": 256,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "size": {
                        "type": "integer",
                        "description": "Size of the file.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "status": {
                        "$ref": "#\/components\/schemas\/enumBookkeepingAttachmentStatusEnum"
                    },
                    "contentType": {
                        "$ref": "#\/components\/schemas\/enumMimeTypeEnum"
                    },
                    "title": {
                        "type": "string",
                        "description": "Title of the attachment from inbox file.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "additionalComments": {
                        "type": "string",
                        "description": "Additional comments for the attachment from inbox file.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                }
            },
            "RouteV1TransactionForJournalModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The ID of the transaction.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionNo": {
                        "type": "integer",
                        "description": "A number that identifies the transaction. Starts on 1 for each organization\/year and increases automatically.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionNoYear": {
                        "type": "string",
                        "description": "TransactionNo which includes year, e.g. 2-2017. Unique for each organization.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "The official date for the transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "description": {
                        "type": "string",
                        "description": "Short description about what the transaction is.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "lockedStatus": {
                        "$ref": "#\/components\/schemas\/enumTransactionLockedTypeEnum"
                    },
                    "transactionSourceType": {
                        "$ref": "#\/components\/schemas\/enumTransactionSourceTypeEnum"
                    },
                    "transactionType": {
                        "$ref": "#\/components\/schemas\/enumTransactionTypeEnum"
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "The ID to the invoice this transaction is connected to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditNoteId": {
                        "type": "integer",
                        "description": "The ID to the credit note this transaction is connected to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "resetByTransactionId": {
                        "type": "integer",
                        "description": "The transactionId of the transaction that reset this one, if applicable.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionRevisionNo": {
                        "type": "integer",
                        "description": "Indicates at which revision the transaction is at.",
                        "maximum": 255,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "isResetTransaction": {
                        "type": "boolean",
                        "description": "Flag that indicates if the transaction represents a reset transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isReverted": {
                        "type": "boolean",
                        "description": "Flag indicating whether the transaction was reverted.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isDeleted": {
                        "type": "boolean",
                        "description": "Flag indicating whether the transaction was deleted.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "invoiceNo": {
                        "type": "integer",
                        "description": "The invoice number, if the transaction is an invoice.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Indicates at what time the transaction was created.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByUserName": {
                        "type": "string",
                        "description": "The name of the user who created the transaction.",
                        "minLength": 1,
                        "maxLength": 200,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "numberOfAttachments": {
                        "type": "integer",
                        "description": "The number of attachments this transaction has.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionAttachments": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1BookkeepingAttachmentModel"
                        },
                        "description": "An array of the file attachments that belongs to this transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1BookkeepingAttachmentModel"
                        ]
                    },
                    "attachmentFileId": {
                        "type": "integer",
                        "description": "The file ID of the main PDF attachment for this transaction.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "updatedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Indicates at what time the transaction was updated.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "currentTransactionId": {
                        "type": "integer",
                        "description": "When the transaction is updated, we set this property with the current valid transaction.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "ledgerLines": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1LedgerLineModel"
                        },
                        "description": "The ledger lines belonging to this transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1LedgerLineModel"
                        ]
                    }
                }
            },
            "RouteV1TransactionLineAdvancedModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The ID of the transaction line.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionId": {
                        "type": "integer",
                        "description": "The ID of the transaction this advanced transaction line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "Date this advanced transaction line will be accounted in books.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "dueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Due date this transaction line will be accounted in books.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "description": {
                        "type": "string",
                        "description": "Short description what this advanced transaction line is about.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "amount": {
                        "type": "number",
                        "description": "The amount of the advanced transaction line. Amount should include VAT if VAT exists.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "debitBookkeepingAccountNo": {
                        "type": "string",
                        "description": "The debit bookkeeping account for this advanced transaction line.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "debitCustomerId": {
                        "type": "integer",
                        "description": "The debit customer ledger id, connects this transaction to a customer.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "debitSupplierId": {
                        "type": "integer",
                        "description": "The debit supplier id, connects this transaction to a supplier.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "debitVatCode": {
                        "$ref": "#\/components\/schemas\/enumVatCodeTypeConst"
                    },
                    "debitInvoiceId": {
                        "type": "integer",
                        "description": "The identifier for the invoice associated with this line as debit.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "debitInvoiceNo": {
                        "type": "string",
                        "description": "The number of the invoice provided by the supplier to be debited.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "creditBookkeepingAccountNo": {
                        "type": "string",
                        "description": "The credit bookkeeping account for this advanced transaction line.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "creditCustomerId": {
                        "type": "integer",
                        "description": "Credit customer ledger id, connects this transaction to a customer.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditSupplierId": {
                        "type": "integer",
                        "description": "The credit supplier id, connects this transaction to a supplier.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditVatCode": {
                        "$ref": "#\/components\/schemas\/enumVatCodeTypeConst"
                    },
                    "creditInvoiceId": {
                        "type": "integer",
                        "description": "The identifier for the invoice associated with this line as credit.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditInvoiceNo": {
                        "type": "string",
                        "description": "The number of the invoice provided by the supplier to be credited.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departmentId": {
                        "type": "integer",
                        "description": "ID to the department the transaction line is connected.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "Id to the project the transaction line is connected.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "isPartOfPeriodization": {
                        "type": "boolean",
                        "description": "Check wheather the transactionline is periodized or not.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "proportionalVat": {
                        "type": "number",
                        "description": "The proportional VAT percentage for this line.",
                        "maximum": 100,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1TransactionLineModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The ID of the transaction line.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionId": {
                        "type": "integer",
                        "description": "The ID of the transaction this transaction line belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "Date this transaction line will be accounted in books. This is the most important date, that will be used in reports.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "dueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Due date this transaction line will be accounted in books. Mostly used for accounts receivable and payable, in order to check how\nthe liquidity probably will be in the near future.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "The bookkeeping account this transaction line is booked. Contains 4 digits, i.e. 3200.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "description": {
                        "type": "string",
                        "description": "Short description what this transaction line is about.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "amount": {
                        "type": "number",
                        "description": "The amount of the transaction line. If the amount is negative, the amount is 'credited' the bookkeeping account.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "Customer ledger id, connects this transaction to a customer. Only applicable to bookkeepingAccountNo 1500.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "supplierId": {
                        "type": "integer",
                        "description": "The supplier id, connects this transaction to a supplier. Only applicable to bookkeepingAccountNo 2400.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "departmentId": {
                        "type": "integer",
                        "description": "Id to the department the transaction line is connected. Optional field.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "Id to the project the transaction line is connected. Optional field.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceNo": {
                        "type": "string",
                        "description": "The invoice number of the invoice this transaction line. Used for bookkeeping both incoming invoices.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "vatCode": {
                        "$ref": "#\/components\/schemas\/enumVatCodeTypeConst"
                    },
                    "vatId": {
                        "type": "integer",
                        "description": "The Identifier of the vat for this transaction line. The VAT amount will be on another transaction line, so this property is mostly\nused for statistics.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionLineClosedId": {
                        "type": "integer",
                        "description": "Identifier of the closed transaction line. If the transaction line has bookkeepingAccountNo 1500 or 2400, it might be open or closed.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "The Identifier of the invoice for this transaction line.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "invoiceEventId": {
                        "type": "integer",
                        "description": "The Identifier of the invoice event for this transaction line.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "isCorrection": {
                        "type": "boolean",
                        "description": "Tells if the transaction line represents an accounting correction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "proportionalVat": {
                        "type": "number",
                        "description": "The proportional VAT percentage for this line.",
                        "maximum": 100,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    }
                }
            },
            "RouteV1TransactionModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The id of the transaction.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionDraftId": {
                        "type": "integer",
                        "description": "The id of a transaction draft.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionLines": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1TransactionLineModel"
                        },
                        "description": "An array of all the TransactionLines belonging to this group.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1TransactionLineModel"
                        ]
                    },
                    "transactionLinesAdvanced": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1TransactionLineAdvancedModel"
                        },
                        "description": "An array of all the TransactionLineAdvanced belonging to this group.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1TransactionLineAdvancedModel"
                        ]
                    },
                    "transactionAttachments": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/RouteV1BookkeepingAttachmentModel"
                        },
                        "description": "An array of the file attachments that belongs to this transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1BookkeepingAttachmentModel"
                        ]
                    },
                    "transactionNo": {
                        "type": "integer",
                        "description": "A number that identifies the transaction. Starts on 1 for each organization, and increases automatically.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionYear": {
                        "type": "integer",
                        "description": "The year for the transaction. Mainly used to display information about the transaction.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionNoYear": {
                        "type": "string",
                        "description": "TransactionNo which includes year, e.g. 2-2017. Used to display on frontend and in reports. Unique for each organization.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "The official date for the transaction. Mainly used to sort transactions, and as a default of the date of\nTransactionLine. For accounting reports, the date of TransactionLine is used.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "description": {
                        "type": "string",
                        "description": "Short description about what the transaction is.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "lockedStatus": {
                        "$ref": "#\/components\/schemas\/enumTransactionLockedTypeEnum"
                    },
                    "transactionSourceType": {
                        "$ref": "#\/components\/schemas\/enumTransactionSourceTypeEnum"
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "The ID to the invoice this transaction is connected to. If it's not connected to any invoice,\nthen this number should be null.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditNoteId": {
                        "type": "integer",
                        "description": "The ID to the credit note this transaction is connected to. If it's not connected to any credit note,\nthen this number should be null.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "resetByTransactionId": {
                        "type": "integer",
                        "description": "It is forbidden to delete a transaction. If a user has done something wrong,\nhe must create a reset transaction. If this transaction is reset by another transaction,\nthen the other transactionId is saved as resetByTransactionId.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionRevisionNo": {
                        "type": "integer",
                        "description": "Inditicates at which revision the transaction is at.",
                        "maximum": 255,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionType": {
                        "$ref": "#\/components\/schemas\/enumTransactionTypeEnum"
                    },
                    "isResetTransaction": {
                        "type": "boolean",
                        "description": "Flag that indicates if the transaction represents a reset transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "periodization": {
                        "$ref": "#\/components\/schemas\/RouteV1PeriodizationModel"
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date when the transaction was created.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "ehfReceivedId": {
                        "type": "integer",
                        "description": "The identifier of the ehf document received and is being used to generate a new transaction.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "paymentType": {
                        "$ref": "#\/components\/schemas\/enumTransactionPaymentTypeEnum"
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1TransactionModel"
                ]
            },
            "RouteV1UnpaidInvoiceListItemModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Invoice Id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "type": {
                        "$ref": "#\/components\/schemas\/enumInvoiceTypeEnum"
                    },
                    "departmentId": {
                        "type": "integer",
                        "description": "The id of the department the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "projectId": {
                        "type": "integer",
                        "description": "The id to the project the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "status": {
                        "$ref": "#\/components\/schemas\/enumInvoiceStatusEnum"
                    },
                    "extendedStatus": {
                        "$ref": "#\/components\/schemas\/enumInvoiceExtendedStatusEnum"
                    },
                    "invoiceNo": {
                        "type": "string",
                        "description": "Invoice number.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "invoiceDate": {
                        "type": "string",
                        "format": "date",
                        "description": "Invoice date.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "followUpDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date the invoice requires follow up.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceDueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The due date for the invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "paymentReminderType": {
                        "$ref": "#\/components\/schemas\/enumPaymentReminderTypeEnum"
                    },
                    "paymentReminderDueDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The due date for the payment reminder.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "customerId": {
                        "type": "integer",
                        "description": "The unique id of the customer the invoice was created to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerName": {
                        "type": "string",
                        "description": "Customer name on the invoice.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customerGroupId": {
                        "type": "integer",
                        "description": "The unique id of the customer group.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerGroupName": {
                        "type": "string",
                        "description": "Customer group name on the invoice.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "numberOfCustomersInGroup": {
                        "type": "integer",
                        "description": "Number of customers in customer group.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sumNet": {
                        "type": "number",
                        "description": "Net sum of the invoice (ex. VAT).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumTotal": {
                        "type": "number",
                        "description": "Total sum of the invoice (incl. VAT).",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumRemaining": {
                        "type": "number",
                        "description": "Total sum of invoice that has not yet been paid.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumTotalForeignCurrency": {
                        "type": "number",
                        "description": "Total sum of the invoice (incl. VAT) in foreign currency.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "sumRemainingForeignCurrency": {
                        "type": "number",
                        "description": "Total sum, in foreign currency, of invoice that has not yet been paid.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "invoiceFileId": {
                        "type": "integer",
                        "description": "The id for the file reference for the uploaded invoice file.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "attachmentFileId": {
                        "type": "integer",
                        "description": "The id for the attachment file reference for the uploaded invoice file.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bankAccountId": {
                        "type": "integer",
                        "description": "The id of the bank account the invoice belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The datetime this invoice was created in the db.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "personalMessage": {
                        "type": "string",
                        "description": "The personal message on the invoice.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "kid": {
                        "type": "string",
                        "description": "KID-number on the invoice.",
                        "minLength": 2,
                        "maxLength": 35,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "nextRepeatDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The date which the invoice will next be repeated.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "invoiceLineDescription": {
                        "type": "string",
                        "description": "The description of the matching invoice line.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "deliveryType": {
                        "$ref": "#\/components\/schemas\/enumDeliveryMethodTypeEnum"
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Identifier for the org which owns this invoice.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "orgName": {
                        "type": "string",
                        "description": "Name of the org which owns this invoice.",
                        "minLength": 1,
                        "maxLength": 300,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "numberOfLetters": {
                        "type": "integer",
                        "description": "The number of letters the organization owner of this invoice can send by mail before having to buy more Conta credit.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "numberOfEhfs": {
                        "type": "integer",
                        "description": "The number of documents the organization owner of this invoice can send as EHF before having to buy more Conta credits.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "totalSumRemaining": {
                        "type": "number",
                        "description": "Sum of invoice.sumRemaining + easybankSale.sumRemaining.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "allowedPaymentType": {
                        "$ref": "#\/components\/schemas\/enumInvoiceActionTypeEnum"
                    },
                    "subscriptionPlanAllowEmail": {
                        "$ref": "#\/components\/schemas\/enumSubscriptionPlanFeatureEnum"
                    },
                    "subscriptionPlanAllowEhf": {
                        "$ref": "#\/components\/schemas\/enumSubscriptionPlanFeatureEnum"
                    },
                    "subscriptionPlanAllowEfaktura": {
                        "$ref": "#\/components\/schemas\/enumSubscriptionPlanFeatureEnum"
                    },
                    "registrationSource": {
                        "$ref": "#\/components\/schemas\/enumInvoiceDraftRegistrationSourceEnum"
                    },
                    "emailAddresses": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "An array of all email recipients.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "kraviaInvoiceStatus": {
                        "$ref": "#\/components\/schemas\/enumKraviaInvoiceStatusEnum"
                    },
                    "allowedActions": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumInvoiceActionTypeEnum"
                        },
                        "description": "An array with all the actions that's allowed for the invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_ENUM",
                            "Conta\\Viking\\Enum\\InvoiceActionTypeEnum"
                        ]
                    }
                }
            },
            "RouteV1VatModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "VAT id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "code": {
                        "$ref": "#\/components\/schemas\/enumVatCodeTypeConst"
                    },
                    "displayCode": {
                        "type": "string",
                        "description": "The VAT code.",
                        "minLength": 1,
                        "maxLength": 2,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "bookkeepingAccountNo": {
                        "type": "string",
                        "description": "The bookkeeping account number for this VAT.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "secondBookkeepingAccountNo": {
                        "type": "string",
                        "description": "The second bookkeeping account number for this VAT.",
                        "minLength": 4,
                        "maxLength": 4,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOKKEEPING_ACCOUNT_NO"
                        ]
                    },
                    "vatHandlingType": {
                        "$ref": "#\/components\/schemas\/enumVatHandlingTypeEnum"
                    },
                    "allowCompensation": {
                        "type": "boolean",
                        "description": "Indicate if VAT type allows deduction in certain cases.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "descriptionNorwegian": {
                        "type": "string",
                        "description": "The description of this bookkeeping account in Norwegian.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "descriptionEnglish": {
                        "type": "string",
                        "description": "The description of this bookkeeping account in English.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "longDescriptionNorwegian": {
                        "type": "string",
                        "description": "A longer description of this bookkeeping account in Norwegian.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "longDescriptionEnglish": {
                        "type": "string",
                        "description": "A longer description of this bookkeeping account in English.",
                        "minLength": 1,
                        "maxLength": 500,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "taxName": {
                        "type": "string",
                        "description": "The tax rate in text format.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "taxRate": {
                        "type": "number",
                        "description": "The tax rate in percentage format.",
                        "maximum": 100,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_FLOAT"
                        ]
                    },
                    "startDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The start date for the VAT.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "endDate": {
                        "type": "string",
                        "format": "date",
                        "description": "The end date for the VAT.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "isAllowedOnInvoice": {
                        "type": "boolean",
                        "description": "Indicate if the VAT type is allowed on an invoice.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isAllowedOnIncome": {
                        "type": "boolean",
                        "description": "Indicate if the VAT type is allowed on an income.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isAllowedOnPurchase": {
                        "type": "boolean",
                        "description": "Indicate if the VAT type is allowed on a purchase.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isAllowedOnManualTransaction": {
                        "type": "boolean",
                        "description": "Indicate if the VAT is allowed on manual transactions.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isProportionalVatAllowed": {
                        "type": "boolean",
                        "description": "Flag indicating if this VAT code can be used with proportional VAT.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "isLocked": {
                        "type": "boolean",
                        "description": "Indicate if the VAT type is allowed to be deactivated\/activated.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "specification": {
                        "$ref": "#\/components\/schemas\/enumVatSpecificationTypeEnum"
                    }
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Vat\\Vat\\Model\\RouteV1VatModel"
                ]
            },
            "SupplierContactDbModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was registered.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "modifiedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was modified.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByIp": {
                        "type": "string",
                        "description": "The IP Address from the connection which created the row.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "createdByUserId": {
                        "type": "integer",
                        "description": "The primary key of the user which created the row.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "kaiaToolCallUuid": {
                        "type": "string",
                        "description": "The UUID of the Kaia AI tool call during which the row was created or changed. Null for non-Kaia writes.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Organization Id the data belong to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "supplierId": {
                        "type": "integer",
                        "description": "Id to the SupplierDbModel the SupplierContact belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the supplier contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the supplier contact.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the supplier contact.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "title": {
                        "type": "string",
                        "description": "The job title of the supplier contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                }
            },
            "SupplierContactModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "supplierId": {
                        "type": "integer",
                        "description": "Id to the SupplierModel the SupplierContact belongs to.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the supplier contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the supplier contact.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the supplier contact.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "title": {
                        "type": "string",
                        "description": "The job title of the supplier contact.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    }
                }
            },
            "SupplierCsListModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique ID of the supplier.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "supplierName": {
                        "type": "string",
                        "description": "Name of the supplier. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 255,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgNo": {
                        "type": "string",
                        "description": "The organization number to the supplier.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the supplier. Must be a valid email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "accountsPayable": {
                        "type": "number",
                        "description": "The sum of open accounts payable.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "numberOfInvoices": {
                        "type": "integer",
                        "description": "Number of invoices sent to customer.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "sumTotalInvoiced": {
                        "type": "number",
                        "description": "Total sum of all invoices sent to a customer.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the supplier is archived.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "SupplierDbModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "Unique id for all models of this type.  It is an integer of positive value used to uniquely identify this model.",
                        "maximum": 9223372036854775807,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was registered.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "modifiedAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Date and time when the row was modified.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByIp": {
                        "type": "string",
                        "description": "The IP Address from the connection which created the row.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "createdByUserId": {
                        "type": "integer",
                        "description": "The primary key of the user which created the row.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "kaiaToolCallUuid": {
                        "type": "string",
                        "description": "The UUID of the Kaia AI tool call during which the row was created or changed. Null for non-Kaia writes.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Organization Id the data belong to.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "contacts": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/SupplierContactDbModel"
                        },
                        "description": "Contacts related to the supplier.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Jotunheim\\Model\\Sql\\SupplierContactDbModel"
                        ]
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the supplier. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 200,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "orgNo": {
                        "type": "string",
                        "description": "The organization number to the supplier. A string between 6 and 50 characters.",
                        "minLength": 6,
                        "maxLength": 50,
                        "pattern": "^[\\-a-zA-Z0-9\u00c6\u00d8\u00c5\u00e6\u00f8\u00e5 ]+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ORG_NO"
                        ]
                    },
                    "orgNoInteger": {
                        "type": "integer",
                        "description": "Numeric-only version of organization number, generated from orgNo.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "phoneNo": {
                        "type": "string",
                        "description": "Phone number to the supplier. A string between 5 and 200 characters.",
                        "minLength": 4,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "Email address to the supplier. Must be a valid email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "supplierImportId": {
                        "type": "integer",
                        "description": "The identification of the import operation that generated this supplier.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "supplierAddressLine1": {
                        "type": "string",
                        "description": "Primary line containing information about the supplier address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "supplierAddressLine2": {
                        "type": "string",
                        "description": "Secondary line containing information about the supplier address. It is normal to be able to split the address\ninformation on two textual lines. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "supplierAddressPostcode": {
                        "type": "string",
                        "description": "The postcode for the supplier. A string between 3 and 50 characters.",
                        "minLength": 1,
                        "maxLength": 20,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "supplierAddressCity": {
                        "type": "string",
                        "description": "The name of the city the supplier resides in. A string between 1 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "supplierAddressCountry": {
                        "type": "string",
                        "description": "The name of the country the supplier resides in. A string between 2 and 200 characters.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "vismaNo": {
                        "type": "integer",
                        "description": "Identification number for this supplier in the Visma (Relevant for any user exporting the data to the\nvisma format).",
                        "maximum": 9223372036854775807,
                        "minimum": 20001,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "bankAccountNo": {
                        "type": "string",
                        "description": "Bank account number or BBAN.",
                        "minLength": 8,
                        "maxLength": 15,
                        "pattern": "^([0-9\\s\\.])+$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BANK_ACCOUNT_NO"
                        ]
                    },
                    "iban": {
                        "type": "string",
                        "description": "IBAN is the european bank account series, which i used for receiving transfers from Europe.",
                        "minLength": 14,
                        "maxLength": 34,
                        "pattern": "^(?=[A-Z]{2}\\d{2})([A-Z]{2}\\d{2})([A-Z\\d]+)$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_IBAN"
                        ]
                    },
                    "swift": {
                        "type": "string",
                        "description": "Swift is the banks international code which is used for receiving transfers from foreign countries. Swift is\nsometimes referred to as BIC, but it is only different names for the same code.",
                        "minLength": 8,
                        "maxLength": 11,
                        "pattern": "^([a-zA-Z]){4}([a-zA-Z]){2}([0-9a-zA-Z]){2}([0-9a-zA-Z]{3})?$",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_SWIFT"
                        ]
                    },
                    "isArchived": {
                        "type": "boolean",
                        "description": "Whether the supplier is archived, and so hidden from lists and pickers.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                }
            },
            "TemporaryFileLink": {
                "type": "object",
                "properties": {
                    "fileId": {
                        "type": "integer",
                        "description": "Identifier of the file stored in the database."
                    },
                    "filename": {
                        "type": "string",
                        "description": "Original name of the file."
                    },
                    "fileUrl": {
                        "type": "string",
                        "description": "Url for where to locate the downloaded file."
                    },
                    "contentType": {
                        "$ref": "#\/components\/schemas\/enumMimeTypeEnum"
                    }
                },
                "description": "Temporary link to a file on the file server.",
                "required": [
                    "fileId",
                    "filename",
                    "fileUrl",
                    "contentType"
                ]
            },
            "TransactionSearchOutputModel": {
                "type": "object",
                "properties": {
                    "id": {
                        "type": "integer",
                        "description": "The transaction id.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionNo": {
                        "type": "integer",
                        "description": "A number that identifies the transaction. Starts on 1 for each organization, and increases automatically.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionYear": {
                        "type": "integer",
                        "description": "The year for the transaction. Mainly used to display information about the transaction.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionNoYear": {
                        "type": "string",
                        "description": "TransactionNo which includes year, e.g. 2-2017. Used to display on frontend and in reports. Unique for each organization.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "date": {
                        "type": "string",
                        "format": "date",
                        "description": "The official date for the transaction. Mainly used to sort transactions, and as a default of the date of\nTransactionLine. For accounting reports, the date of TransactionLine is used.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATE"
                        ],
                        "x-earliest": "1100-01-01",
                        "x-latest": "2299-12-31"
                    },
                    "description": {
                        "type": "string",
                        "description": "Short description about what the transaction is.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "lockedStatus": {
                        "$ref": "#\/components\/schemas\/enumTransactionLockedTypeEnum"
                    },
                    "transactionSourceType": {
                        "$ref": "#\/components\/schemas\/enumTransactionSourceTypeEnum"
                    },
                    "invoiceId": {
                        "type": "integer",
                        "description": "The ID to the invoice this transaction is connected to. If it's not connected to any invoice,\nthen this number should be null.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "creditNoteId": {
                        "type": "integer",
                        "description": "The ID to the credit note this transaction is connected to. If it's not connected to any credit note,\nthen this number should be null.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "resetByTransactionId": {
                        "type": "integer",
                        "description": "It is forbidden to delete a transaction. If a user has done something wrong,\nhe must create a reverse transaction. If this transaction is reversed by another transaction,\nthen the other transactionId is saved as reversedId.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "transactionRevisionNo": {
                        "type": "integer",
                        "description": "Inditicates at which revision the transaction is at.",
                        "maximum": 255,
                        "minimum": 0,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "customerSupplierName": {
                        "type": "string",
                        "description": "Customer(s) and\/or supplier(s) name.",
                        "minLength": 1,
                        "maxLength": 2000,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "customers": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/CustomerDbModel"
                        },
                        "description": "The id + name for the customers in this transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Jotunheim\\Model\\Sql\\CustomerDbModel"
                        ]
                    },
                    "suppliers": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/SupplierDbModel"
                        },
                        "description": "The id + name for the supplier in this transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Jotunheim\\Model\\Sql\\SupplierDbModel"
                        ]
                    },
                    "totalAmount": {
                        "type": "number",
                        "description": "The transaction total amount.",
                        "maximum": 99999999999.99,
                        "minimum": -99999999999.99,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_CURRENCY"
                        ]
                    },
                    "isResetTransaction": {
                        "type": "boolean",
                        "description": "Flag that indicates if the transaction represents a reset transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Transaction creation date and time.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByUserName": {
                        "type": "string",
                        "description": "Name of the user who created the transaction.",
                        "minLength": 0,
                        "maxLength": 16777215,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "bookkeepingAccounts": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Bookkeeping accounts used in the transaction.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "departments": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/DepartmentDbModel"
                        },
                        "description": "Departments associated with this transaction at the transaction line level.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Jotunheim\\Model\\Sql\\DepartmentDbModel"
                        ]
                    },
                    "projects": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/ProjectDbModel"
                        },
                        "description": "Projects associated with this transaction at the transaction line level.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_ARRAY",
                            "ASGARD_TYPE_OBJECT",
                            "Conta\\Jotunheim\\Model\\Sql\\ProjectDbModel"
                        ]
                    }
                }
            },
            "UserModel": {
                "type": "object",
                "properties": {
                    "userId": {
                        "type": "integer",
                        "description": "Unique identification of the user.",
                        "maximum": 9223372036854775807,
                        "minimum": 1,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "firstName": {
                        "type": "string",
                        "description": "First name of the user.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "lastName": {
                        "type": "string",
                        "description": "The last name of the user.",
                        "minLength": 1,
                        "maxLength": 100,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "emailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "The user's email address.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "language": {
                        "$ref": "#\/components\/schemas\/enumLanguageEnum"
                    },
                    "defaultOrgId": {
                        "type": "integer",
                        "description": "The id of the organization the user will using as default when logging into the system.",
                        "maximum": 9223372036854775807,
                        "minimum": -9223372036854775808,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_INTEGER"
                        ]
                    },
                    "role": {
                        "$ref": "#\/components\/schemas\/enumUserRoleEnum"
                    },
                    "registrationSource": {
                        "$ref": "#\/components\/schemas\/enumRegistrationSourceEnum"
                    },
                    "blockedStatus": {
                        "$ref": "#\/components\/schemas\/enumUserBlockedStatusEnum"
                    },
                    "newEmailAddress": {
                        "type": "string",
                        "format": "email",
                        "description": "The user's new email address when updating it in the system. Not yet confirmed.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_EMAIL"
                        ]
                    },
                    "createdAt": {
                        "type": "string",
                        "format": "date-time",
                        "description": "The user creation date.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_DATETIME"
                        ],
                        "x-earliest": "1100-01-01T00:00:00",
                        "x-latest": "2299-12-31T23:59:59"
                    },
                    "createdByIp": {
                        "type": "string",
                        "description": "The IP address the user was originally created from.",
                        "minLength": 1,
                        "maxLength": 50,
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_STRING"
                        ]
                    },
                    "isAccountant": {
                        "type": "boolean",
                        "description": "Is the user an accountant for the org.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveInvoicePastDueEmail": {
                        "type": "boolean",
                        "description": "Will the user receive notification on email when invoices are past due.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receivePaymentReminderPastDueEmail": {
                        "type": "boolean",
                        "description": "Will the user receive notification on email when payment reminders are past due.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveContaNewsletterEmails": {
                        "type": "boolean",
                        "description": "Will the user receive newsletters from Conta.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveDebtCollectionPastDueEmail": {
                        "type": "boolean",
                        "description": "Will the user receive notification on email when a debt collection is past due.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveEmailWhenImportingEhf": {
                        "type": "boolean",
                        "description": "Will the user receive notifications on email when an EHF document is received.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveImportantDateReminderEmail": {
                        "type": "boolean",
                        "description": "Will the user receive important date reminder emails.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveRepeatingInvoiceReminderEmail": {
                        "type": "boolean",
                        "description": "Will the user receive repeating invoice reminder emails.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    },
                    "receiveOnboardingEmail": {
                        "type": "boolean",
                        "description": "Will the user receive onboarding emails.",
                        "x-asgard-datatype": [
                            "ASGARD_TYPE_BOOLEAN"
                        ]
                    }
                },
                "description": "The input sent with the request."
            },
            "accountingYearIsLockedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "lockedAccountingYears": {
                                        "type": "array",
                                        "items": {
                                            "type": "integer"
                                        },
                                        "description": "The list of locked accouning years."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "AccountingYearIsLockedException"
                            }
                        },
                        "description": "Thrown in two cases:\n1-) When trying to create a transaction within an accounting year that is locked.",
                        "required": [
                            "lockedAccountingYears"
                        ]
                    }
                ]
            },
            "accountingYearShouldBeLockedInOrderToSavePersonalIncomeException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "year": {
                                        "type": "integer",
                                        "description": "Year which must be locked."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "AccountingYearShouldBeLockedInOrderToSavePersonalIncomeException"
                            }
                        },
                        "description": "Thrown when trying to register the personal income but accounting year is not locked.",
                        "required": [
                            "year"
                        ]
                    }
                ]
            },
            "alreadyExistsSupplierWithSameVismaNoServiceException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "vismaNo": {
                                        "type": "integer",
                                        "description": "The existing supplier vismaNo"
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "AlreadyExistsSupplierWithSameVismaNoServiceException"
                            }
                        },
                        "description": "Exception thrown when trying to register a department with a Visma number that is already in use by that organisation.",
                        "required": [
                            "vismaNo"
                        ]
                    }
                ]
            },
            "amountGreaterThanRemainingOnInvoiceException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "amount": {
                                        "type": "number",
                                        "description": "The amount provided."
                                    },
                                    "remainingOnInvoice": {
                                        "type": "number",
                                        "description": "The remaining amount on the invoice."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "AmountGreaterThanRemainingOnInvoiceException"
                            }
                        },
                        "description": "Thrown when the amount provided is greater than the remaining amount on the invoice.",
                        "required": [
                            "amount",
                            "remainingOnInvoice"
                        ]
                    }
                ]
            },
            "apiAccessInvitationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "AccessInvitationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the AccessInvitationTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiAccessToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "AccessToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the AccessTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiAlreadyExistsAccessInvitationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "AlreadyExistsAccessInvitationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Unable to create invitation as the user already has been invited to that specific organisation.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiAlreadyLoggedInAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "AlreadyLoggedInAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as the user is already logged into the system.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiAmqpToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "AmqpToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the Amqp tool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiApiGatewayRestRequestException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "ApiGatewayRestRequestException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the ApiGatewayTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "AuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the AuthenticationTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiBlockedAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "BlockedAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as the user has been blocked.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiCacheToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "CacheToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the Cache tool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiConfigurationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "ConfigurationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the Configuration tool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiEmailAddressNotConfirmedAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "EmailAddressNotConfirmedAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as the email address of the user is not confirmed",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiEmailBulkToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "EmailBulkToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the EmailBulkTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiEmailToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "EmailToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the EmailTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiEmailToolPayloadTooLargeException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "EmailToolPayloadTooLargeException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Thrown when the email provider rejects the request with HTTP 413 (payload too large),\ntypically because the combined attachment size exceeds the provider's request-body limit.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiEmptyFileException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "EmptyFileException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "One or more files that was uploaded have no content.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiExistsEmailAddressChangeRequestUserToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "ExistsEmailAddressChangeRequestUserToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception thrown when there is already a pending email change request for a user.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiExistsIdenticalEmailAddressUserToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "ExistsIdenticalEmailAddressUserToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Trying to create\/register with, or change an email address to an email address that already is registered in the system.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiFailedToStoreAmqpToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "FailedToStoreAmqpToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception thrown when failed to store message on the AmqpStorage",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiFileNotFoundFileStorageToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "FileNotFoundFileStorageToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception thrown when the requested file is no longer available in the file storage.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiFileRestRequestException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "FileRestRequestException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "A category of Rest exceptions indicating inability to upload file for some reason.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiFileSizesExceedsSystemLimitException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "FileSizesExceedsSystemLimitException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Accumulated size of all uploaded files exceeds the maximum allowed size of the system.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiFileStorageToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "FileStorageToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the FileStorageTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiFileUploadException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "FileUploadException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "File upload has been attempted, but no file was actually uploaded.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiGlobalValueToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "GlobalValueToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception thrown when a failure happens using Global value tool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiGoogleServiceAccountToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "GoogleServiceAccountToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the GoogleServiceAccount.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiGuestAccessException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "GuestAccessException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Was unable, for some reason, to authorize Guest Access.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiGuestAccessTokenExpiredException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "GuestAccessTokenExpiredException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Access to the system denied as the timestamp of the token, used to access the system as a guest user, has expired.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiGuestAccessToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "GuestAccessToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the GuestAccessTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiIdModelStorageToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "IdModelStorageToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the IdModelStorage tool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiInvalidCodeUserRegistrationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "InvalidCodeUserRegistrationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Invalid code supplied for the user registration\/invitation.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiInvalidEmailAddressCodeUserToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "InvalidEmailAddressCodeUserToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "The code does not match the expected code for email address change.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiInvalidTotpKeyAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "InvalidTotpKeyAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as the TOTP key could not be authenticated.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiLanguageToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "LanguageToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the LanguageTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiLoginFailedAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "LoginFailedAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as login could not be established (exact reason hidden) which typically is due to the login\/pw is not accepted.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiLoginRequiredAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "LoginRequiredAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as it requires a user to have been logged into the system (i.e. authentication tried by a guest access).",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiLoginRequiredException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "LoginRequiredException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Access to the application denied as execution requires the user to have be logged in.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiMaintenanceException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "MaintenanceException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    },
                    "mode": {
                        "type": "integer",
                        "description": "Maintenance mode",
                        "maximum": 4,
                        "minimum": 0
                    }
                },
                "description": "Access to the system is denied as the system is under maintenance.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiMidgardProjectToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "MidgardProjectToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the UserTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiMissingEmailAddressAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "MissingEmailAddressAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "The external (Firebase) user has no email address, so a local user cannot be auto-created.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiMissingSSORolesAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "MissingSSORolesAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception is thrown when there are insufficient roles in Firebase to perform an action. Can be thrown when 'sup' or 'adm'\nrole is required to call an API, but it is missing.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiMultipleFilesUploadedException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "MultipleFilesUploadedException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Multiple files uploaded in an Operation that only supports having one file uploaded.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiMultipleFoundIdModelStorageToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "MultipleFoundIdModelStorageToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception for errors within the IdModelStorage tool for when multiple models was located when trying to perform an action which requires\nonly a specific model to be located.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiNoEmailAddressChangeRequestedUserToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "NoEmailAddressChangeRequestedUserToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "There does not exist a request for changing email address.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiNotAdminException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "NotAdminException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Access to the application denied as execution requires the user to have be logged in as an Admin user.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiNotFoundIdModelStorageToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "NotFoundIdModelStorageToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception for errors within the IdModelStorage tool for when no models could be located when trying to perform an action which requires a\nspecific model to be located.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiNotSuperAdminException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "NotSuperAdminException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Access to the application denied as execution requires the user to have be logged in as a SuperAdmin user.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiOrgAccessDeniedException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "OrgAccessDeniedException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Not given access to the application as user was denied access to the organisation specified in the request.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiOrgBlockedException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "OrgBlockedException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    },
                    "orgId": {
                        "type": "integer",
                        "description": "Org id that is blocked."
                    },
                    "blockedStatus": {
                        "type": "string",
                        "enum": [
                            "NOT_BLOCKED",
                            "NOT_BLOCKED_PURCHASE_BY_INVOICE_RESTRICTED",
                            "MISSING_PAYMENTS",
                            "BY_ADMIN",
                            "DELETED"
                        ],
                        "description": "Status of the organization.."
                    }
                },
                "description": "Not given access to the application as the org accessing the application has been blocked.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiOrgNoteToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "OrgNoteToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the OrgNoteTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiOrgReadOnlyModeException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "OrgReadOnlyModeException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception thrown when organization is in a read only mode and trying to persist any data.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiOrgToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "OrgToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the OrgTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiPartiallyUploadedFileException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "PartiallyUploadedFileException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "File was only partially uploaded.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiPasswordResetEmailNotFoundAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "PasswordResetEmailNotFoundAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as it requires a password reset email to exist.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiPasswordResetExpiredAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "PasswordResetExpiredAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as the allocated time to complete the password reset has expired.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiPasswordResetTooManyAttemptsAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "PasswordResetTooManyAttemptsAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as the number of password reset attempts has exceeded the number of allowed attempts.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiPolicyToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "PolicyToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the PolicyTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiPostRequestTooLargeException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "PostRequestTooLargeException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Size of the POST request exceeds the maximum allowed size of the system.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiProjectToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "ProjectToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the Project tool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiRegistrationDoesNotExistUserRegistrationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "RegistrationDoesNotExistUserRegistrationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Unable to find the existing registration.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiRequiresExecutionByAdminUserToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "RequiresExecutionByAdminUserToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "The functionality that was tried executed can only be performed by the user himself or an administrator.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiRequiresExecutionBySuperAdminUserToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "RequiresExecutionBySuperAdminUserToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "The functionality that was tried executed can only be performed by the user himself or an super administrator.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiRestException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "RestException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Category which, by inheritance, indicates the exception originates from the Rest Layer.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiRestPropertyContainsOnlyTagsException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "RestPropertyContainsOnlyTagsException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception thrown when a REST property contains only tags, which is not permitted or expected in the context of the REST request.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiRestRequestException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "RestRequestException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "A category of Rest exceptions indicating resolution of the rest request failed.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiRestRequestIdempotencyException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "RestRequestIdempotencyException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception thrown when a request is not idempotent.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiRestUnknownPropertyException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "RestUnknownPropertyException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception thrown when a REST request contains a property that does not exist on the endpoint's input model.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiSSOToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "SSOToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the SSOTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiTmpFileToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "TmpFileToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the TmpFile tool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiTooManyLoginAttemptsAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "TooManyLoginAttemptsAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as the number of login attempts has exceeded the number of allowed attempts.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "ToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Wraps the module exception class to indicate, by inheritance, the exception is in regard to a failure within a Tool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiTotpRequiredAuthenticationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "TotpRequiredAuthenticationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Authentication declined as further execution requires TOTP.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUnsupportedFileSizeOpException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UnsupportedFileSizeOpException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "The size of one or more uploaded files exceeds the individual file size of the Operation.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUnsupportedFileTypeException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UnsupportedFileTypeException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "The file type is not among the supported file types of the system.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUnsupportedFileTypeOpException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UnsupportedFileTypeOpException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "The type of one or more uploaded files is not amongst the allowed file types of the Operation.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUrlMethodNotFoundException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UrlMethodNotFoundException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Could not locate any route associated with the url in the given HTTP Method.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUrlNotFoundException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UrlNotFoundException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Could not locate any Operation associated with the url (typically the \"folder\"-path) supplied.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUserAlreadyHasAccessToOrgUserRegistrationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UserAlreadyHasAccessToOrgUserRegistrationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Throw when inviting a user that already has access to the organization.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUserAlreadyInvitedToOrgUserRegistrationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UserAlreadyInvitedToOrgUserRegistrationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Throw when inviting a user that already has an invitation to the organization.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUserBlockedException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UserBlockedException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Not given access to the application as the user has been blocked.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUserHasAccessAccessInvitationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UserHasAccessAccessInvitationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Unable to create invitation as the user already has access to that specific organisation.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUserHasPolicyToOrgAccessToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UserHasPolicyToOrgAccessToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception indicating that the access with the given policy is already created.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUserRegistrationToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UserRegistrationToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the OrgRegistrationTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "apiUserToolException": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "enum": [
                            "CUSTOM",
                            "INPUT",
                            "API",
                            "SYSTEM"
                        ],
                        "description": "Defines type of error information returned. In this case the value is \"API\" and its contents describes the API error occurring within the application",
                        "default": "API"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the exception that failed",
                        "default": "UserToolException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exception class category for detecting and handling errors that originate within the UserTool.",
                "required": [
                    "category",
                    "name"
                ]
            },
            "arrayOfBookkeepingAccountNoRangeModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/BookkeepingAccountNoRangeModel"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Model\\InputOutput\\BookkeepingAccountNoRangeModel"
                ]
            },
            "arrayOfContaCreditPackageModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/ContaCreditPackageModel"
                },
                "description": "List of available conta credit packages of the given conta credit type."
            },
            "arrayOfCustomerExtSearchListResponse": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/CustomerExtSearchListResponse"
                }
            },
            "arrayOfDepartmentExtSearchListResponse": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/DepartmentExtSearchListResponse"
                }
            },
            "arrayOfEnumBookkeepingAccountCategoryConst": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/enumBookkeepingAccountCategoryConst"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_CONSTANT",
                    "Conta\\Backend\\Deprecated\\TypeConst\\BookkeepingAccountCategoryConst",
                    "ASGARD_TYPE_STRING"
                ]
            },
            "arrayOfEnumDeliveryMethodTypeEnum": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/enumDeliveryMethodTypeEnum"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\DeliveryMethodTypeEnum"
                ]
            },
            "arrayOfEnumInvoiceTypeEnum": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/enumInvoiceTypeEnum"
                },
                "description": "List of allowed invoice types."
            },
            "arrayOfEnumKraviaInvoiceStatusEnum": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/enumKraviaInvoiceStatusEnum"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\KraviaInvoiceStatusEnum"
                ]
            },
            "arrayOfProjectExtSearchListResponse": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/ProjectExtSearchListResponse"
                }
            },
            "arrayOfRouteV1BankAccountModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/RouteV1BankAccountModel"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Company\\BankAccount\\Model\\RouteV1BankAccountModel"
                ]
            },
            "arrayOfRouteV1BookkeepingInboxFileModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/RouteV1BookkeepingInboxFileModel"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\BookkeepingInboxFile\\Model\\RouteV1BookkeepingInboxFileModel"
                ]
            },
            "arrayOfRouteV1FileMetaDataModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/RouteV1FileMetaDataModel"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Common\\File\\Model\\RouteV1FileMetaDataModel"
                ]
            },
            "arrayOfRouteV1FindBookkeepingAccountsOutputModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/RouteV1FindBookkeepingAccountsOutputModel"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\BookkeepingAccount\\BookkeepingAccount\\Model\\RouteV1FindBookkeepingAccountsOutputModel"
                ]
            },
            "arrayOfRouteV1LedgerLineModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/RouteV1LedgerLineModel"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1LedgerLineModel"
                ]
            },
            "arrayOfRouteV1OrgUserAccessModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/RouteV1OrgUserAccessModel"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Access\\OrgUserAccess\\Model\\RouteV1OrgUserAccessModel"
                ]
            },
            "arrayOfRouteV1PaymentModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/RouteV1PaymentModel"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Payment\\Model\\RouteV1PaymentModel"
                ]
            },
            "arrayOfRouteV1TransactionAttachmentModel": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/RouteV1TransactionAttachmentModel"
                },
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ARRAY",
                    "ASGARD_TYPE_OBJECT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Accounting\\Transaction\\Model\\RouteV1TransactionAttachmentModel"
                ]
            },
            "arrayOfTemporaryFileLink": {
                "type": "array",
                "items": {
                    "$ref": "#\/components\/schemas\/TemporaryFileLink"
                }
            },
            "atLeastOneLineShouldBeInTheSameYearAsTransactionException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "AtLeastOneLineShouldBeInTheSameYearAsTransactionException"
                            }
                        },
                        "description": "Exception to be thrown when the user is adding a transaction with all transaction lines on different year than the transaction date.",
                        "required": []
                    }
                ]
            },
            "attachmentsTotalSizeTooLargeException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "maxSizeInMb": {
                                        "type": "integer"
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "AttachmentsTotalSizeTooLargeException"
                            }
                        },
                        "description": "Exception thrown when the combined size of the attachments exceeds the allowed limit.",
                        "required": [
                            "maxSizeInMb"
                        ]
                    }
                ]
            },
            "balanceGroupHasDuplicatedEntriesException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "BalanceGroupHasDuplicatedEntriesException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to add more than one depreciable equipment for the same balance group when saving the yearly\npersonal income report.",
                        "required": []
                    }
                ]
            },
            "bankAccountReconciledInFutureException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "BankAccountReconciledInFutureException"
                            }
                        },
                        "description": "Exception to be thrown when a transaction is added on a bank account that has been reconciled on a future date.",
                        "required": []
                    }
                ]
            },
            "bankAccountReconciliationMonthYearMustBeFirstDayOfMonthException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "BankAccountReconciliationMonthYearMustBeFirstDayOfMonthException"
                            }
                        },
                        "description": "Exception to be thrown when the user sends a monthYear that is not the first day of the month for a bank account reconciliation.",
                        "required": []
                    }
                ]
            },
            "bookkeepingAccountNoNotAllowedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "BookkeepingAccountNoNotAllowedException"
                            }
                        },
                        "description": "Exception to be thrown when an invalid bookkeeping account number is provided when creating an invoice.",
                        "required": []
                    }
                ]
            },
            "bookkeepingAccountNotActiveException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "bookkeepingAccountNo": {
                                        "type": "string",
                                        "description": "The bookkeeping account no."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "BookkeepingAccountNotActiveException"
                            }
                        },
                        "description": "Exception to be thrown in case the used bookkeeping account is not activated yet.",
                        "required": [
                            "bookkeepingAccountNo"
                        ]
                    }
                ]
            },
            "bookkeepingAccountReconciledForPeriodException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "bookkeepingAccountNo": {
                                        "type": "string",
                                        "description": "Number of the already reconciled bookkeeping account."
                                    },
                                    "date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Date of the invalid transaction line."
                                    },
                                    "dateInEnglish": {
                                        "type": "string",
                                        "description": "The month that is reconciled."
                                    },
                                    "dateInNorwegian": {
                                        "type": "string",
                                        "description": "The month that is reconciled."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "BookkeepingAccountReconciledForPeriodException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to create a transaction with lines in an already reconciled period for the given bookkeeping\naccount number.",
                        "required": [
                            "bookkeepingAccountNo",
                            "date",
                            "dateInEnglish",
                            "dateInNorwegian"
                        ]
                    }
                ]
            },
            "cannotCloseLedgerAmountDifferentThanZeroException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "sum": {
                                        "type": "number",
                                        "description": "The sum amount that differs from zero."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotCloseLedgerAmountDifferentThanZeroException"
                            }
                        },
                        "description": "Exception thrown when trying to close ledge but the sum of the values is different from zero.",
                        "required": [
                            "sum"
                        ]
                    }
                ]
            },
            "cannotCreateManualTransactionsUsingInvoicesWithForeignCurrenciesException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotCreateManualTransactionsUsingInvoicesWithForeignCurrenciesException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to create a manual transaction involving an invoice with foreign currency.",
                        "required": []
                    }
                ]
            },
            "cannotCreateRepeatingInvoicesUsingForeignCurrenciesException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotCreateRepeatingInvoicesUsingForeignCurrenciesException"
                            }
                        },
                        "description": "Thrown when trying to create a repeating invoice in foreign currency.",
                        "required": []
                    }
                ]
            },
            "cannotCreateTransactionBeforeStartDateException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "regnskapStartDate": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The Regnskap start date."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotCreateTransactionBeforeStartDateException"
                            }
                        },
                        "description": "Thrown when trying to create a transaction before Regnskap start date.",
                        "required": [
                            "regnskapStartDate"
                        ]
                    }
                ]
            },
            "cannotCreditCreditNotesException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotCreditCreditNotesException"
                            }
                        },
                        "description": "Exception thrown when trying to credit a credit note (Invoice with type = CREDIT or with creditedInvoiceId set).",
                        "required": []
                    }
                ]
            },
            "cannotDeleteNonExistingBankAccountTransactionMatchException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotDeleteNonExistingBankAccountTransactionMatchException"
                            }
                        },
                        "description": "Exception thrown when trying to delete a bank account transaction match, after it has been already deleted.",
                        "required": []
                    }
                ]
            },
            "cannotLockAccountingYearPreviousYearIsNotClosedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotLockAccountingYearPreviousYearIsNotClosedException"
                            }
                        },
                        "description": "Thrown when trying to lock an accounting year but previous year is not closed.",
                        "required": []
                    }
                ]
            },
            "cannotOpenTransactionLinesDueUnbalancedAmountsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "amount": {
                                        "type": "number",
                                        "description": "The sum of the transaction lines amounts, which differs from zero."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotOpenTransactionLinesDueUnbalancedAmountsException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to re-open closed transaction lines that do not sum up to zero.",
                        "required": [
                            "amount"
                        ]
                    }
                ]
            },
            "cannotProcessPaymentInvoiceInForeignCurrencyException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotProcessPaymentInvoiceInForeignCurrencyException"
                            }
                        },
                        "description": "Exception to be thrown when is not possible to process with a paymet due the invoice being in foreign currency.",
                        "required": []
                    }
                ]
            },
            "cannotReopenPostsOfCreditedInvoiceException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "invoiceId": {
                                        "type": "integer",
                                        "description": "The unique identifier for the invoice."
                                    },
                                    "invoiceNo": {
                                        "type": "integer",
                                        "description": "The invoice number."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotReopenPostsOfCreditedInvoiceException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to reopen posts connected to a credited invoice.",
                        "required": [
                            "invoiceId",
                            "invoiceNo"
                        ]
                    }
                ]
            },
            "cannotUnmatchTransactionsDueToReconciledPeriodException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CannotUnmatchTransactionsDueToReconciledPeriodException"
                            }
                        },
                        "description": "Exception to be thrown when user tries to unmatch transactions from a reconciled period.",
                        "required": []
                    }
                ]
            },
            "creditNoteSumTotalCanNotBePositiveException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CreditNoteSumTotalCanNotBePositiveException"
                            }
                        },
                        "description": "Exception thrown when invoice type is CREDIT and sumTotal is positive. If sumTotal is positive the credit note is an invoice.",
                        "required": []
                    }
                ]
            },
            "currentInvoiceCannotHaveAnOldCreditNoteException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CurrentInvoiceCannotHaveAnOldCreditNoteException"
                            }
                        },
                        "description": "Exception thrown when the current invoice (isCreatedInOtherSystem = false) is being credited with an old invoice credit note\n(isCreatedInOtherSystem = false).",
                        "required": []
                    }
                ]
            },
            "customerCannotReceiveEfakturaException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "reason": {
                                        "type": "string",
                                        "description": "Identifier result from eFaktura API."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CustomerCannotReceiveEfakturaException"
                            }
                        },
                        "description": "Exception thrown when an invoice is being sent as e-faktura to a private recipient that cannot receive invoices as e-faktura.",
                        "required": [
                            "reason"
                        ]
                    }
                ]
            },
            "customerDoesNotHaveAddressException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "The unique id of the customer."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "The name of the customer."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CustomerDoesNotHaveAddressException"
                            }
                        },
                        "description": "Thrown when trying to send an invoice by mail to a customer who does not have an address.",
                        "required": [
                            "id",
                            "name"
                        ]
                    }
                ]
            },
            "customerIdDoesNotMatchCustomerIdOnProjectException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CustomerIdDoesNotMatchCustomerIdOnProjectException"
                            }
                        },
                        "description": "Thrown when the customerId on a payload referencing a project does not match the project's customerId.",
                        "required": []
                    }
                ]
            },
            "customerIsRequiredForRegisterIncomeException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CustomerIsRequiredForRegisterIncomeException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to create an income transaction without a customer.",
                        "required": []
                    }
                ]
            },
            "customerMoreThanTenEmailCopyRecipientsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CustomerMoreThanTenEmailCopyRecipientsException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to save more than 10 email copy\nrecipients for a customer.",
                        "required": []
                    }
                ]
            },
            "customerNotFoundException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "CustomerNotFoundException"
                            }
                        },
                        "description": "Exception thrown when a customer isn't found.",
                        "required": []
                    }
                ]
            },
            "departmentNotFoundException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "DepartmentNotFoundException"
                            }
                        },
                        "description": "Exception thrown when a department isn't found.",
                        "required": []
                    }
                ]
            },
            "dueDateBeforeInvoiceDateException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "DueDateBeforeInvoiceDateException"
                            }
                        },
                        "description": "Exception thrown when the invoiceDueDate is before the invoiceDate.",
                        "required": []
                    }
                ]
            },
            "duplicateInvoiceNoAndYearException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "invoiceNo": {
                                        "type": "string",
                                        "description": "The duplicate invoice number."
                                    },
                                    "year": {
                                        "type": "integer",
                                        "description": "The year of the invoice date."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "DuplicateInvoiceNoAndYearException"
                            }
                        },
                        "description": "Exception thrown when an invoice is being created in another system and the invoice number has already been used in the year of the\ninvoice date.",
                        "required": [
                            "invoiceNo",
                            "year"
                        ]
                    }
                ]
            },
            "efakturaAmountMustBeGreaterThanZeroException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaAmountMustBeGreaterThanZeroException"
                            }
                        },
                        "description": "",
                        "required": []
                    }
                ]
            },
            "efakturaCanBeUsedForNormalInvoicesOnlyException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaCanBeUsedForNormalInvoicesOnlyException"
                            }
                        },
                        "description": "Exception to be thrown when the user of an org tries to send an e-faktura as a cash or credit invoice.",
                        "required": []
                    }
                ]
            },
            "efakturaCannotBeOverdueException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaCannotBeOverdueException"
                            }
                        },
                        "description": "",
                        "required": []
                    }
                ]
            },
            "efakturaCannotBeUsedAsPaymentReminderException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaCannotBeUsedAsPaymentReminderException"
                            }
                        },
                        "description": "Exception to be thrown when the user of an org tries to send an e-faktura as a payment reminder.",
                        "required": []
                    }
                ]
            },
            "efakturaDueDateLaterThanInOneYearException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaDueDateLaterThanInOneYearException"
                            }
                        },
                        "description": "It is impossible to send an eFaktura with due-date later than in one year.",
                        "required": []
                    }
                ]
            },
            "efakturaInputValidationWrongBankAccountException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "accountNo": {
                                        "type": "string",
                                        "description": "Account number that failed the validation."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaInputValidationWrongBankAccountException"
                            }
                        },
                        "description": "",
                        "required": [
                            "accountNo"
                        ]
                    }
                ]
            },
            "efakturaInputValidationWrongFullNameException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaInputValidationWrongFullNameException"
                            }
                        },
                        "description": "",
                        "required": []
                    }
                ]
            },
            "efakturaInputValidationWrongPhoneNoException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaInputValidationWrongPhoneNoException"
                            }
                        },
                        "description": "",
                        "required": []
                    }
                ]
            },
            "efakturaInsufficientDataToIdentifyReceiverException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaInsufficientDataToIdentifyReceiverException"
                            }
                        },
                        "description": "",
                        "required": []
                    }
                ]
            },
            "efakturaIsAlreadySentException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaIsAlreadySentException"
                            }
                        },
                        "description": "The exception thrown when someone tries to send same invoice as eFaktura two or more times.",
                        "required": []
                    }
                ]
            },
            "efakturaMuiltipleReceiversFoundException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaMuiltipleReceiversFoundException"
                            }
                        },
                        "description": "",
                        "required": []
                    }
                ]
            },
            "efakturaReceiverDoesNotAutoacceptAgreementsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "efakturaCustomer": {
                                        "$ref": "#\/components\/schemas\/EfakturaCustomerModel"
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaReceiverDoesNotAutoacceptAgreementsException"
                            }
                        },
                        "description": "Exception to be thrown when the recipient has not enabled automatic acceptance of eFaktura agreements in their online bank.",
                        "required": [
                            "efakturaCustomer"
                        ]
                    }
                ]
            },
            "efakturaReceiverNotFoundException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EfakturaReceiverNotFoundException"
                            }
                        },
                        "description": "",
                        "required": []
                    }
                ]
            },
            "endDateBeforeStartDateException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "EndDateBeforeStartDateException"
                            }
                        },
                        "description": "Exception thrown when the end date is before the start date.",
                        "required": []
                    }
                ]
            },
            "enumAnnualReportCalculatedIndustryIncomeReportConst": {
                "type": "string",
                "enum": [
                    "INFORMATION",
                    "INCOME",
                    "INCOME_TAXABLE",
                    "SVALBARD_CORRECTIONS",
                    "INCOME_TAXABLE_RESULT",
                    "INCOME_SHARES",
                    "SPOUSE_SHARE",
                    "OWNER_SHARE"
                ],
                "description": "Annual report calculated industry income lines."
            },
            "enumAnnualReportGroupConst": {
                "type": "string",
                "enum": [
                    "OPERATING_REVENUE",
                    "SALES_REVENUE",
                    "OTHER_OPERATIONAL_REVENUE",
                    "OTHER_OPERATIONAL",
                    "TOTAL_OPERATING_REVENUE",
                    "OPERATING_COSTS",
                    "COST_OF_GOODS",
                    "WAGE_COST",
                    "OTHER_OPERATING_COSTS",
                    "TOTAL_OPERATING_COSTS",
                    "OPERATING_SURPLUS",
                    "FINANCIAL_INCOME",
                    "TOTAL_FINANCIAL_INCOME",
                    "FINANCIAL_COSTS",
                    "COSTS",
                    "ORDINARY_PROFIT_BEFORE_TAX_COSTS",
                    "ORDINARY_RESULT",
                    "ANNUAL_RESULT",
                    "ASSETS",
                    "FIXED_ASSETS",
                    "CURRENT_ASSETS",
                    "SUM_ASSETS",
                    "EQUITY_AND_LIABILITIES",
                    "LONG_TERM_LIABILITIES",
                    "SHORT_TERM_LIABILITIES",
                    "SUM_LIABILITIES",
                    "EQUITY",
                    "SUM_EQUITY_AND_LIABILITIES",
                    "BALANCE",
                    "ACCOUNTS_RECEIVABLE",
                    "ACCRUED_UNINVOICED_REVENUE",
                    "OTHER_RECEIVABLES",
                    "SPECIFICATION_OF_STOCK",
                    "RAW_MATERIALS",
                    "GOODS_BEING_MANUFACTURED",
                    "FINISHED_MANUFACTURED_GOODS",
                    "PURCHASED_GOODS_FOR_RESALE",
                    "ESTIMATED_BUSINESS_INCOME",
                    "INDUSTRY_TYPE",
                    "INDUSTRY_DESCRIPTION",
                    "INDUSTRY_MUNICIPALITY",
                    "INCOME",
                    "SVALBARD_CORRECTIONS",
                    "PERCENTAGE"
                ],
                "description": "Contains the annual report groups\/sessions."
            },
            "enumAnnualReportPersonalReportConst": {
                "type": "string",
                "enum": [
                    "TRANSFERRED_FROM_TAX",
                    "ENTERPRISE_DEBT_INTEREST",
                    "CAPITAL_INCOME",
                    "CAPITAL_EXPENSES",
                    "REDUCTION_AMOUNT_RENTED_PROPERTY",
                    "GAIN_AGRICULTURE_FORESTRY",
                    "RISK_FREE_RETURN",
                    "ADJUSTED_RESULT",
                    "PERSONAL_INCOME_PERSONAL_RESULT",
                    "PERSONAL_INCOME",
                    "PREVIOUS_YEAR_NEGATIVE_INCOME",
                    "PERSONAL_INCOME_SPOUSE_SHARE",
                    "PERSONAL_INCOME_OWNERS_SHARE",
                    "OWNERS_INCOME"
                ],
                "description": "Annual report personal report lines."
            },
            "enumBankAccountOwnerTypeEnum": {
                "type": "string",
                "enum": [
                    "ORGANIZATION",
                    "PRIVATE"
                ],
                "description": "Enum for bank account owner types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\BankAccountOwnerTypeEnum"
                ]
            },
            "enumBankAccountTypeEnum": {
                "type": "string",
                "enum": [
                    "NORMAL",
                    "TAX_DEDUCTION"
                ],
                "description": "Bank Account types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Viking\\Enum\\BankAccountTypeEnum"
                ]
            },
            "enumBookkeepingAccountCategoryConst": {
                "type": "string",
                "enum": [
                    "ALLOCATIONS",
                    "ASSETS",
                    "BALANCE",
                    "CURRENT_ASSETS",
                    "EQUITY",
                    "EQUITY_AND_LIABILITIES",
                    "EXPENSES",
                    "EXTRAORDINARY_ITEMS",
                    "FINANCIAL_EXPENSES",
                    "FINANCIAL_INCOME",
                    "FINANCIAL_INCOME_AND_EXPENSES_EXTRAORDINARY_ITEMS",
                    "FIXED_ASSETS",
                    "LONG_TERM_LIABILITIES",
                    "OPERATING_PROFIT",
                    "OPERATIONAL_INCOME",
                    "OTHER_EXPENSES",
                    "OTHER_OPERATIONAL_INCOME",
                    "PERSONNEL_COSTS",
                    "PUBLIC_GRANTS",
                    "RENTAL_INCOME",
                    "RESULT",
                    "SALES_REVENUE",
                    "SHORT_TERM_LIABILITIES",
                    "STOCK_EXPENSES",
                    "SUM_ASSETS",
                    "SUM_EQUITY_AND_LIABILITIES",
                    "SUM_EXPENSES",
                    "SUM_OPERATIONAL_INCOME",
                    "TAX"
                ],
                "description": "Contains the different Bookkeeping Accounts categories used in Conta."
            },
            "enumBookkeepingAccountTypeConst": {
                "type": "string",
                "enum": [
                    "1296",
                    "1500",
                    "1480",
                    "2400",
                    "1900",
                    "1909",
                    "1920",
                    "1950",
                    "2050",
                    "2054",
                    "2060",
                    "2075",
                    "2095",
                    "2096",
                    "2380",
                    "2700",
                    "2701",
                    "2703",
                    "2704",
                    "2710",
                    "2711",
                    "2713",
                    "2740",
                    "2910",
                    "2915",
                    "2930",
                    "3000",
                    "3030",
                    "3050",
                    "3100",
                    "3150",
                    "3200",
                    "3600",
                    "3605",
                    "3610",
                    "3615",
                    "3620",
                    "3700",
                    "3705",
                    "3890",
                    "3900",
                    "3910",
                    "5000",
                    "6000",
                    "6730",
                    "7099",
                    "7770",
                    "7771",
                    "7798",
                    "7820",
                    "7830",
                    "7835",
                    "7890",
                    "8050",
                    "8055",
                    "8060",
                    "8150",
                    "8160",
                    "8960"
                ],
                "description": "Contains the different Bookkeeping Accounts used in conta."
            },
            "enumBookkeepingAttachmentStatusEnum": {
                "type": "string",
                "enum": [
                    "INBOX",
                    "INBOX_TMP",
                    "ATTACHMENT",
                    "ATTACHMENT_TMP"
                ],
                "description": "Contains the different statuses a bookkeeping attachment can have.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\BookkeepingAttachmentStatusEnum"
                ]
            },
            "enumContaCreditTypeEnum": {
                "type": "string",
                "enum": [
                    "MAILING_OF_LETTER",
                    "EHF",
                    "DEBT_COLLECTION_CASE_START",
                    "DEBT_COLLECTION_CASE_PRIVATE",
                    "CONTA_SALG_STANDARD",
                    "SUBSCRIPTION_PLAN_STANDARD",
                    "SUBSCRIPTION_PLAN_STANDARD_2024",
                    "SUBSCRIPTION_PLAN_SMART",
                    "ADDON_PURCHASE",
                    "CREDIT_RATING",
                    "CONTA_PLUSS",
                    "CONTA_REGNSKAP_STANDARD",
                    "SUBSCRIPTION_PLAN_CLOUD",
                    "MANUAL_PURCHASE"
                ],
                "description": "The type of the lacking conta credit."
            },
            "enumCountryEnum": {
                "type": "string",
                "enum": [
                    "AF",
                    "Afghanistan",
                    "Albania",
                    "Alicante Spania",
                    "Andorra",
                    "Angola",
                    "Anguilla",
                    "Argentina",
                    "Armenia",
                    "Australia",
                    "Austria",
                    "Bahamas",
                    "Bangladesh",
                    "Belarus",
                    "Belgia",
                    "Belgi\u00eb",
                    "Belgium",
                    "Belgiun",
                    "Benin",
                    "Bermuda",
                    "Bolivia",
                    "Bosna i Hercegovina",
                    "Bosnia",
                    "Bosnia & Herzegovina",
                    "Bosnia i Hercegovina",
                    "Bosnia-Hercegovina",
                    "Brasil",
                    "Brazil",
                    "British Virgin Islands",
                    "BS",
                    "Bulgaria",
                    "Canada",
                    "Cayman Island",
                    "Cayman Islands",
                    "Ceska Republika",
                    "Chile",
                    "CHINA",
                    "Colombia",
                    "Costa Rica",
                    "COTONOU",
                    "Croatia",
                    "CURACAO",
                    "CYPRUS",
                    "CZ",
                    "Czech",
                    "Czech Republic",
                    "Czech Republik",
                    "Czechia",
                    "Danmark",
                    "De britiske jomfru\u00f8yer",
                    "Demark",
                    "Denmark",
                    "Deutchland",
                    "Deutschland",
                    "DK",
                    "Dubai",
                    "Ecuador",
                    "EGYPT",
                    "England",
                    "ES",
                    "Espa\u00f1a",
                    "Estland",
                    "ESTONIA",
                    "Falkland Islands",
                    "Faroe Island",
                    "Faroe Islands",
                    "Finland",
                    "Finnland",
                    "France",
                    "Frankrike",
                    "F\u00e6r\u00f8yene",
                    "Gambia",
                    "GEORGIA",
                    "Germany",
                    "Gerrmany",
                    "Ghana",
                    "Gibraltar",
                    "Grand Cayman",
                    "Greece",
                    "Greenland",
                    "Gr\u00f8nland",
                    "Gr\u00f8nnland",
                    "Guernsey",
                    "Guinea",
                    "HELLAS",
                    "Holland",
                    "Hong Kong",
                    "Hong Kong SAR China",
                    "Hongkong",
                    "Hungary",
                    "Iceland",
                    "India",
                    "Indonesia",
                    "Irak",
                    "Iran",
                    "Iraq",
                    "Irealnd",
                    "Ireland",
                    "Irland",
                    "Island",
                    "Isle of Man",
                    "Israel",
                    "Italia",
                    "ITALY",
                    "Japan",
                    "Jersey",
                    "JORDAN",
                    "Kanada",
                    "KAZAKHSTAN",
                    "Kenya",
                    "Kina",
                    "KOREA",
                    "Kosovo",
                    "Kroatia",
                    "KUWAIT",
                    "Kypros",
                    "LATVIA",
                    "Latvija",
                    "Lebanon",
                    "Liechtenstein",
                    "LIETUVA",
                    "Litauen",
                    "Lithauen",
                    "Lithuania",
                    "Lithuaniai",
                    "London",
                    "LT",
                    "Luxembourg",
                    "Luxemburg",
                    "Magyarorsz\u00e1g",
                    "Malaysia",
                    "Maldive",
                    "Maldives",
                    "Mali",
                    "Malta",
                    "Mauritius",
                    "Mexico",
                    "Mogan",
                    "Moldova",
                    "Monaco",
                    "Montenegro",
                    "Morocco",
                    "Nedeland",
                    "Nederland",
                    "Nederlande",
                    "Nederlands",
                    "Netherland",
                    "Netherlands",
                    "New Zealand",
                    "Nigeria",
                    "NL",
                    "Nor",
                    "Noreg",
                    "Norge",
                    "North Macedonia",
                    "Northern Irland",
                    "Norvegia",
                    "Norway",
                    "Oman",
                    "OP",
                    "Pakistan",
                    "Peru",
                    "Philippines",
                    "PL",
                    "Poland",
                    "Polen",
                    "Polska",
                    "Portugal",
                    "POZNAN",
                    "Qatar",
                    "Republic of Korea",
                    "Republic of South Korea",
                    "ROMANIA",
                    "Rusland",
                    "Russia",
                    "Russian Federation",
                    "Russland",
                    "Rwanda",
                    "SAUDI ARABIA",
                    "Scotland",
                    "Serbia",
                    "Seychelles",
                    "Singapore",
                    "SKOTLAND",
                    "Skottland",
                    "Slovak Republic",
                    "Slovakia",
                    "Slovenia",
                    "Smeane B\u00e5t",
                    "South Africa",
                    "South Korea",
                    "Spain",
                    "Spania",
                    "Spanien",
                    "Sri Lanka",
                    "SRILANKA",
                    "Stockholm",
                    "Storbritania",
                    "Storbritannia",
                    "Storbrittannia",
                    "Sudan",
                    "Suisse",
                    "Suomi Finland",
                    "Svalbard",
                    "Svalbard & Jan Mayen",
                    "SVEDEN",
                    "SVEITS",
                    "Sverge",
                    "Svergie",
                    "Sverige",
                    "SWE",
                    "Sweden",
                    "Sweeden",
                    "Sweits",
                    "Switzerland",
                    "S\u00f8r-Afrika",
                    "Taiwan",
                    "Tanzania",
                    "TCzech Republic",
                    "Thailand",
                    "The Nederlands",
                    "The Netherlands",
                    "The United States of America",
                    "Tjeckien",
                    "TJEKKIA",
                    "Togo",
                    "Tsjekkia",
                    "TURKEY",
                    "Tyrkia",
                    "TYSKLAND",
                    "Ukraina",
                    "Ukraine",
                    "Ukrania",
                    "Ungarn",
                    "United Arab Emirates",
                    "United Kingdom",
                    "United States",
                    "Uruguay",
                    "UTLANDET",
                    "Uzbekistan",
                    "VietNam",
                    "\u00d8sterike",
                    "\u00d8sterrike"
                ],
                "description": "Temporary definition of country names based on the current contents of the database.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\CountryEnum"
                ]
            },
            "enumCustomerTypeEnum": {
                "type": "string",
                "enum": [
                    "INDIVIDUAL",
                    "ORGANIZATION"
                ],
                "description": "Enum for customer types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\CustomerTypeEnum"
                ]
            },
            "enumDeliveryMethodTypeEnum": {
                "type": "string",
                "enum": [
                    "EMAIL",
                    "MAIL",
                    "EHF",
                    "EFAKTURA",
                    "INVOICE_SALE",
                    "DO_NOT_DELIVER",
                    "UNKNOWN",
                    "NONE"
                ],
                "description": "Ways to deliver documents.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\DeliveryMethodTypeEnum"
                ]
            },
            "enumEmailEventTypeEnum": {
                "type": "string",
                "enum": [
                    "NONE",
                    "PROCESSED",
                    "DROPPED",
                    "DEFERRED",
                    "DELIVERED",
                    "BOUNCED",
                    "OPENED",
                    "CLICKED",
                    "UNSUBSCRIBED",
                    "MARK_AS_SPAM",
                    "GROUP_UNSUBSCRIBE",
                    "GROUP_RESUBSCRIBE"
                ],
                "description": "Types of email event.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\EmailEventTypeEnum"
                ]
            },
            "enumEmailRecipientTypeEnum": {
                "type": "string",
                "enum": [
                    "EMAIL_TO",
                    "EMAIL_CC",
                    "EMAIL_BCC",
                    "NOT_EMAIL",
                    ""
                ],
                "description": "Contains enums for recipients.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\EmailRecipientTypeEnum"
                ]
            },
            "enumEquityReconciliationReportRowTypeEnum": {
                "type": "string",
                "enum": [
                    "ADDED_EQUITY",
                    "DEDUCTED_EQUITY",
                    "EQUITY_CHANGES",
                    "INGOING_EQUITY",
                    "OTHER_PRIVATE_ITEMS",
                    "OUTGOING_EQUITY",
                    "OUTGOING_EQUITY_PER_RECONCILIATION",
                    "EQUITY_FROM_BALANCE_REPORT",
                    "DIFFERENCE",
                    "PRIVATE_ACCOUNT",
                    "SUM_ADDED_EQUITY",
                    "SUM_DEDUCTED_EQUITY",
                    "TAX_FREE_INCOME",
                    "YEARLY_LOSS",
                    "YEARLY_PROFIT"
                ],
                "description": "List of report value types shown in tabular rows of the yearly equity reconciliation report."
            },
            "enumInvoiceActionTypeEnum": {
                "type": "string",
                "enum": [
                    "CREATE_PAYMENT",
                    "REMOVE_PAYMENT",
                    "CREATE_PAYOUT",
                    "REMOVE_PAYOUT",
                    "CREATE_CREDIT_NOTE",
                    "RESEND_INVOICE_TO_CUSTOMER",
                    "CREATE_PAYMENT_REMINDER",
                    "REMOVE_LATE_PAYMENT_FEES",
                    "UNDO_REMOVED_LATE_PAYMENT_FEES",
                    "WRITE_INVOICE_OFF_AS_LOSS",
                    "UNDO_WRITE_INVOICE_OFF_AS_LOSS",
                    "EXTEND_FOLLOW_UP_DATE",
                    "STOP_REPETITION",
                    "REMOVE_INVOICE",
                    "CREATE_DEBT_COLLECTION_CASE",
                    "OBJECTION_FROM_CUSTOMER",
                    "MAKE_A_COPY"
                ],
                "description": "All invoice actions available.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Viking\\Enum\\InvoiceActionTypeEnum"
                ]
            },
            "enumInvoiceDraftRegistrationSourceEnum": {
                "type": "string",
                "enum": [
                    "CONTA",
                    "TIMERABBIT"
                ],
                "description": "Contains enums for invoice registration source.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\InvoiceDraftRegistrationSourceEnum"
                ]
            },
            "enumInvoiceEventDeliveryMethodEnum": {
                "type": "string",
                "enum": [
                    "UNKNOWN",
                    "EMAIL",
                    "MAIL",
                    "EHF",
                    "EFAKTURA",
                    "NONE"
                ],
                "description": "Ways to deliver invoices.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\InvoiceEventDeliveryMethodEnum"
                ]
            },
            "enumInvoiceEventTypeEnum": {
                "type": "string",
                "enum": [
                    "INVOICE_CREATED",
                    "INVOICE_CREATED_FROM_CONTA_SALG",
                    "CASH_INVOICE_CREATED",
                    "CHANGED_FROM_REGNSKAP",
                    "REVERSED_CHANGED_FROM_REGNSKAP",
                    "REVERSED_FROM_CONTA_INKASSO",
                    "SUM_REMAINING_SENT_TO_OTHER_EXPENSES_DEDUCTABLE",
                    "REPEATING_INVOICE_CREATED",
                    "REPEATED_INVOICE_AUTOMATICALLY_CREATED",
                    "CREDIT_NOTE_CREATED",
                    "INVOICE_SENT_BY_EMAIL",
                    "INVOICE_SENT_BY_POSTAL_MAIL",
                    "INVOICE_SENT_BY_EHF",
                    "INVOICE_SENT_BY_EFAKTURA",
                    "CREDIT_NOTE_SENT_BY_EMAIL",
                    "CREDIT_NOTE_SENT_BY_POSTAL_MAIL",
                    "CREDIT_NOTE_SENT_BY_EHF",
                    "INVOICE_RESENT_BY_EMAIL",
                    "INVOICE_RESENT_BY_POSTAL_MAIL",
                    "INVOICE_RESENT_BY_EHF",
                    "INVOICE_RESENT_BY_EFAKTURA",
                    "INVOICE_AND_PAYMENT_REMINDER_RESENT_BY_EMAIL",
                    "INVOICE_AND_PAYMENT_REMINDER_RESENT_BY_POSTAL_MAIL",
                    "INVOICE_AND_PAYMENT_REMINDER_RESENT_BY_EHF",
                    "CREDIT_NOTE_RESENT_BY_EMAIL",
                    "CREDIT_NOTE_RESENT_BY_POSTAL_MAIL",
                    "CREDIT_NOTE_RESENT_BY_EHF",
                    "PAYMENT_RECEIVED",
                    "PAYMENT_RECEIVED_FROM_SKULS",
                    "PAYOUT_REGISTERED",
                    "CASH_PAYMENT_RECEIVED",
                    "OCR_PAYMENT_RECEIVED",
                    "PAYMENT_REMINDER_CREATED",
                    "PAYMENT_REMINDER_CREATED_AND_SENT_BY_POSTAL_MAIL",
                    "PAYMENT_REMINDER_SENT_BY_EMAIL",
                    "WRITTEN_OFF_AS_LOSS",
                    "SENT_TO_CONTA_INKASSO",
                    "SENT_TO_SKULS",
                    "PULLED_FROM_SKULS",
                    "DELETED_LATE_PAYMENT_FEES",
                    "FOLLOW_UP_DATE_CHANGED",
                    "INVOICE_CREDITED",
                    "REVERSED_WRITTEN_OFF_AS_LOSS",
                    "PAYMENT_DISCONNECTED",
                    "DELETED_PAYMENT",
                    "DELETED_PAYOUT",
                    "DELETED_PAYMENT_FROM_SKULS",
                    "REVERSED_DELETE_LATE_PAYMENT_FEES",
                    "STOPPED_REPEATING_OF_INVOICE",
                    "UPDATED_INVOICE_REPETITION",
                    "CREDIT_NOTE_DELETED",
                    "PULLED_FROM_KRAVIA",
                    "OBJECTION_FROM_CUSTOMER",
                    "SOLD_TO_EASYBANK",
                    "EFAKTURA_STATUS_IN_PROGRESS",
                    "EFAKTURA_STATUS_PROCESSED",
                    "EFAKTURA_STATUS_REJECTED",
                    "EFAKTURA_STATUS_CANCELLED",
                    "EFAKTURA_STATUS_STOPPED",
                    "PAYMENT_RECEIVED_FROM_KRAVIA",
                    "SENT_TO_KRAVIA",
                    "DELETED_PAYMENT_FROM_KRAVIA",
                    "SENT_DEBT_COLLECTION_REMINDER",
                    "CLOSED_WITH_SUM_REMAINING_BY_KRAVIA"
                ],
                "description": "Contains the different invoice event types possible to be set on an invoice event.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\InvoiceEventTypeEnum"
                ]
            },
            "enumInvoiceExtendedStatusEnum": {
                "type": "string",
                "enum": [
                    "BEING_CREATED",
                    "BEING_SENT_TO_KRAVIA",
                    "CLOSED_BY_CREDIT_NOTE",
                    "CLOSED_BY_EASYBANK",
                    "CLOSED_FROM_REGNSKAP",
                    "CREDIT_NOTE",
                    "DEBT_COLLECTION_PAST_FOLLOW_UP_DATE",
                    "NOT_OVERDUE",
                    "PAID",
                    "PAID_IN_CASH",
                    "PAST_FOLLOW_UP_DATE",
                    "PAST_FOLLOW_UP_DATE_BY_14_DAYS",
                    "PAYMENT_REMINDER_PAST_FOLLOW_UP_DATE",
                    "REMINDER_SENT",
                    "SENT_TO_CONTA_INKASSO",
                    "SENT_TO_DEBT_COLLECTION",
                    "SENT_TO_KRAVIA",
                    "SOLD_TO_EASYBANK",
                    "WRITTEN_OFF_AS_LOSS"
                ],
                "description": "Invoice list statuses.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Viking\\Enum\\InvoiceExtendedStatusEnum"
                ]
            },
            "enumInvoiceListFilterTypeEnum": {
                "type": "string",
                "enum": [
                    "PAID",
                    "UNPAID",
                    "ACTIVE",
                    "REPEATING",
                    "OVERDUE",
                    "PAYMENT_REMINDERS_OVERDUE",
                    "FOLLOW_UP",
                    "KRAVIA"
                ],
                "description": "Used to define invoice list filters.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Viking\\Enum\\InvoiceListFilterTypeEnum"
                ]
            },
            "enumInvoiceRepeatFrequencyEnum": {
                "type": "string",
                "enum": [
                    "WEEKLY",
                    "BIWEEKLY",
                    "MONTHLY",
                    "BIMONTHLY",
                    "QUARTERLY",
                    "HALF_YEARLY",
                    "ANNUALLY"
                ],
                "description": "Contains enums for invoice repetition.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\InvoiceRepeatFrequencyEnum"
                ]
            },
            "enumInvoiceStatusEnum": {
                "type": "string",
                "enum": [
                    "BEING_CREATED",
                    "INVOICE_CREATED",
                    "PAYMENT_REMINDER_CREATED",
                    "CLOSED_BY_CREDIT_NOTE",
                    "CLOSED_BY_PAYMENT",
                    "CLOSED_FROM_REGNSKAP",
                    "WRITTEN_OFF_AS_LOSS",
                    "SOLD_TO_EASYBANK",
                    "CLOSED_BY_EASYBANK",
                    "SENT_TO_KRAVIA",
                    "BEING_SENT_TO_KRAVIA"
                ],
                "description": "Contains enums for invoice status.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\InvoiceStatusEnum"
                ]
            },
            "enumInvoiceTypeEnum": {
                "type": "string",
                "enum": [
                    "NORMAL",
                    "CASH",
                    "CREDIT"
                ],
                "description": "Contains enums for invoice types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\InvoiceTypeEnum"
                ]
            },
            "enumKraviaInvoiceStatusEnum": {
                "type": "string",
                "enum": [
                    "ACTIVE",
                    "WITHDRAWN",
                    "CLOSED"
                ],
                "description": "Invoice status in Kravia.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\KraviaInvoiceStatusEnum"
                ]
            },
            "enumKraviaSentLogStatusTypeEnum": {
                "type": "string",
                "enum": [
                    "NONE",
                    "SENT"
                ],
                "description": "Contains the different status types for showing on frontend.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Viking\\Enum\\KraviaSentLogStatusTypeEnum"
                ]
            },
            "enumLanguageEnum": {
                "type": "string",
                "enum": [
                    "NO",
                    "EN"
                ],
                "description": "Contains enums for the supported languages."
            },
            "enumMimeTypeEnum": {
                "type": "string",
                "enum": [
                    "application\/andrew-inset",
                    "application\/atom+xml",
                    "application\/gzip",
                    "application\/java-archive",
                    "application\/json",
                    "application\/mac-binhex40",
                    "application\/mac-compactpro",
                    "application\/mathml+xml",
                    "application\/msword",
                    "application\/octet-stream",
                    "application\/oda",
                    "application\/ogg",
                    "application\/pdf",
                    "application\/postscript",
                    "application\/rdf+xml",
                    "application\/rss+xml",
                    "application\/smil",
                    "application\/srgs",
                    "application\/srgs+xml",
                    "application\/vnd.mif",
                    "application\/vnd.mozilla.xul+xml",
                    "application\/vnd.ms-excel",
                    "application\/vnd.ms-powerpoint",
                    "application\/vnd.oasis.opendocument.spreadsheet",
                    "application\/vnd.oasis.opendocument.text",
                    "application\/vnd.openxmlformats-officedocument.presentationml.presentation",
                    "application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
                    "application\/vnd.openxmlformats-officedocument.wordprocessingml.document",
                    "application\/vnd.rn-realmedia",
                    "application\/vnd.wap.wbxml",
                    "application\/vnd.wap.wmlc",
                    "application\/vnd.wap.wmlscriptc",
                    "application\/voicexml+xml",
                    "application\/xhtml+xml",
                    "application\/xml",
                    "application\/xml-dtd",
                    "application\/xslt+xml",
                    "application\/x-bcpio",
                    "application\/x-cdlink",
                    "application\/x-chess-pgn",
                    "application\/x-cpio",
                    "application\/x-csh",
                    "application\/x-director",
                    "application\/x-dvi",
                    "application\/x-futuresplash",
                    "application\/x-gtar",
                    "application\/x-hdf",
                    "application\/x-javascript",
                    "application\/x-koan",
                    "application\/x-latex",
                    "application\/x-netcdf",
                    "text\/x-setext",
                    "application\/x-sh",
                    "application\/x-shar",
                    "application\/x-shockwave-flash",
                    "application\/x-stuffit",
                    "application\/x-sv4cpio",
                    "application\/x-sv4crc",
                    "application\/x-tar",
                    "application\/x-tcl",
                    "application\/x-tex",
                    "application\/x-texinfo",
                    "application\/x-troff",
                    "application\/x-troff-man",
                    "application\/x-troff-me",
                    "application\/x-troff-ms",
                    "application\/x-ustar",
                    "application\/x-wais-source",
                    "application\/zip",
                    "application\/zlib",
                    "audio\/basic",
                    "audio\/midi",
                    "audio\/mpeg",
                    "video\/x-msvideo",
                    "audio\/x-aiff",
                    "audio\/x-mpegurl",
                    "audio\/x-pn-realaudio",
                    "audio\/x-wav",
                    "chemical\/x-pdb",
                    "chemical\/x-xyz",
                    "inode\/x-empty",
                    "image\/bmp",
                    "image\/cgm",
                    "image\/gif",
                    "image\/heic",
                    "image\/ief",
                    "image\/jpeg",
                    "image\/pjpeg",
                    "image\/png",
                    "image\/svg+xml",
                    "image\/tiff",
                    "image\/vnd.adobe.photoshop",
                    "image\/vnd.djvu",
                    "image\/vnd.microsoft.icon",
                    "image\/vnd.wap.wbmp",
                    "image\/webp",
                    "image\/x-cmu-raster",
                    "image\/x-png",
                    "image\/x-portable-anymap",
                    "image\/x-portable-bitmap",
                    "image\/x-portable-graymap",
                    "image\/x-portable-pixmap",
                    "image\/x-rgb",
                    "image\/x-xbitmap",
                    "image\/x-xpixmap",
                    "image\/x-xwindowdump",
                    "image\/x-icon",
                    "message\/rfc822",
                    "model\/iges",
                    "model\/mesh",
                    "model\/vrml",
                    "text\/calendar",
                    "text\/css",
                    "text\/csv",
                    "text\/html",
                    "text\/plain",
                    "text\/richtext",
                    "text\/rtf",
                    "text\/sgml",
                    "text\/tab-separated-values",
                    "text\/txt",
                    "text\/vnd.wap.wml",
                    "text\/vnd.wap.wmlscript",
                    "text\/xml",
                    "text\/x-c",
                    "video\/mpeg",
                    "video\/quicktime",
                    "video\/vnd.mpegurl",
                    "video\/x-ms-asf",
                    "video\/x-sgi-movie",
                    "x-conference\/x-cooltalk",
                    "image\/x-ms-bmp",
                    "application\/CDFV2",
                    "application\/x-empty",
                    "application\/vnd.ms-office",
                    "application\/x-rar",
                    "binary\/octet-stream",
                    "text\/x-shellscript"
                ],
                "description": "Enum defining available mime types in Asgard.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Asgard\\Enum\\MimeTypeEnum"
                ]
            },
            "enumNetsKidAgreementApplicationEnum": {
                "type": "string",
                "enum": [
                    "ACTIVE",
                    "WAITING",
                    "SUBMIT_FAILED",
                    "FAILED",
                    "NOT_APPLIED"
                ],
                "description": "Constants used to specify the status that a Nets kid agreement application has.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\NetsKidAgreementApplicationEnum"
                ]
            },
            "enumOrgBlockedStatusEnum": {
                "type": "string",
                "enum": [
                    "NOT_BLOCKED",
                    "NOT_BLOCKED_PURCHASE_BY_INVOICE_RESTRICTED",
                    "MISSING_PAYMENTS",
                    "BY_ADMIN",
                    "DELETED"
                ],
                "description": "Contains the different levels of blocking that an organization can have.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\OrgBlockedStatusEnum"
                ]
            },
            "enumPartnerPortalAuthLevelEnum": {
                "type": "string",
                "enum": [
                    "ALLOW_ACCESS",
                    "ALLOW_MANAGE_CLIENTS",
                    "ALLOW_MANAGE_USERS"
                ],
                "description": "List of auth levels for the partner portal."
            },
            "enumPaymentReminderTypeEnum": {
                "type": "string",
                "enum": [
                    "PAYMENT_REMINDER",
                    "DEBT_COLLECTION_NOTICE"
                ],
                "description": "Contains enums for payment reminder headings.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\PaymentReminderTypeEnum"
                ]
            },
            "enumPaymentTypeEnum": {
                "type": "string",
                "enum": [
                    "MANUAL",
                    "OCR_CREMUL",
                    "NOT_PAYMENT"
                ],
                "description": "Contains enums for payment types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\PaymentTypeEnum"
                ]
            },
            "enumRegistrationSourceEnum": {
                "type": "string",
                "enum": [
                    "FAKTURA1",
                    "NETTFAKTURA",
                    "NETTFAKTURA_EXISTING",
                    "CONTA_IN_APP",
                    "CONTA_REGISTRATION_FORM",
                    "CONTA_V1",
                    "FAKTURO_MIGRATION",
                    "PARTNER",
                    "PATRON",
                    "STARTE_AS",
                    "ENKELTPERSONFORETAK",
                    "CENTIGA",
                    "CENTIGA_MIGRATION",
                    "UNKNOWN"
                ],
                "description": "Contains enums for the source of the registration of an organization.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Asgard\\Enum\\RegistrationSourceEnum"
                ]
            },
            "enumRouteV1VatCodeTypeConst": {
                "type": "string",
                "enum": [
                    "no.vat",
                    "high",
                    "medium",
                    "low",
                    "zero.rate",
                    "exempted",
                    "export"
                ],
                "description": "Contains enums for all the different VAT codes.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_CONSTANT",
                    "Conta\\Backend\\Rest\\Route\\External\\v1\\Invoice\\Const\\RouteV1VatCodeTypeConst",
                    "ASGARD_TYPE_STRING"
                ]
            },
            "enumSentLogStatusTypeEnum": {
                "type": "string",
                "enum": [
                    "NONE",
                    "PROCESSED",
                    "DROPPED",
                    "DEFERRED",
                    "DELIVERED",
                    "BOUNCED",
                    "OPENED",
                    "CLICKED",
                    "UNSUBSCRIBED",
                    "MARK_AS_SPAM",
                    "GROUP_UNSUBSCRIBE",
                    "GROUP_RESUBSCRIBE",
                    "WAITING",
                    "SENT",
                    "FAILED",
                    "UNKNOWN",
                    "REJECTED",
                    "IN_PROGRESS",
                    "DUPLICATE",
                    "NOT_FOUND",
                    "CANCELLED",
                    "WILL_BE_SENT"
                ],
                "description": "Contains the different status types for showing on frontend.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\SentLogStatusTypeEnum"
                ]
            },
            "enumSubscriptionPlanFeatureEnum": {
                "type": "string",
                "enum": [
                    "ALLOW_BOOKKEEPING",
                    "ALLOW_CHAT_SUPPORT",
                    "ALLOW_CLIENT_FILE_ARCHIVE",
                    "ALLOW_CLIENT_TASK_ARCHIVE",
                    "ALLOW_COPY_INVOICE",
                    "ALLOW_DEPARTMENT",
                    "ALLOW_EFAKTURA",
                    "ALLOW_EHF",
                    "ALLOW_EMAIL",
                    "ALLOW_EXPORT_INVOICE",
                    "ALLOW_KID",
                    "ALLOW_LOGO",
                    "ALLOW_MOBILEAPP",
                    "ALLOW_PHONE_SUPPORT",
                    "ALLOW_PROJECT",
                    "ALLOW_PROJECT_FILE_ARCHIVE",
                    "ALLOW_SCHEDULED_INVOICE",
                    "ALLOW_TODO_LIST_EMAIL_REMINDER",
                    "ALLOW_INVOICE_BULK"
                ],
                "description": "Contains features that are included or not in subscription plan.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Viking\\Enum\\Auth\\SubscriptionPlanFeatureEnum"
                ]
            },
            "enumSubscriptionPlanFeatureStatusEnum": {
                "type": "string",
                "enum": [
                    "FORBIDDEN",
                    "INCLUDED",
                    "PAID"
                ],
                "description": "Contains possible statuses for features that can have 3 statuses."
            },
            "enumSubscriptionRegistrationSourceTypeEnum": {
                "type": "string",
                "enum": [
                    "ADMIN",
                    "FAKTURO",
                    "PARTNER",
                    "PATRON",
                    "POPUP",
                    "REGISTRATION_PAGE",
                    "BOOKKEEPING_REPORT_PAGE",
                    "UPSALE_BANNER",
                    "START_PAGE",
                    "TRANSACTION_PAGE",
                    "MODULE_SELECTOR",
                    "SETTINGS_PAGE",
                    "EXTERNAL_API",
                    "",
                    "EXTERNAL_API_SALARY",
                    "EXTERNAL_API_TIMERABBIT",
                    "BANK_DASHBOARD"
                ],
                "description": "Contains enums for the source of subscription plan or addon activation (admin, popup, settings, etc).",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\SubscriptionRegistrationSourceTypeEnum"
                ]
            },
            "enumTransactionLockedTypeEnum": {
                "type": "string",
                "enum": [
                    "OPEN",
                    "LOCKED_BUT_UNLOCKABLE",
                    "LOCKED"
                ],
                "description": "Contains enums for transaction locked types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\TransactionLockedTypeEnum"
                ]
            },
            "enumTransactionPaymentTypeEnum": {
                "type": "string",
                "enum": [
                    "NOT_PAID",
                    "PAY_WITH_CONTA",
                    "ALREADY_PAID"
                ],
                "description": "Enum for the transaction payment types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Viking\\Enum\\TransactionPaymentTypeEnum"
                ]
            },
            "enumTransactionSourceTypeEnum": {
                "type": "string",
                "enum": [
                    "ADVANCED_TRANSACTION",
                    "BULK_TRANSACTION",
                    "EHF_RECEIVED",
                    "EHF_AUTOMATICALLY_PROCESSED",
                    "REGISTER_BANK_STATEMENT",
                    "REGISTER_INCOME",
                    "REGISTER_INITIAL_BALANCE",
                    "REGISTER_PURCHASE",
                    "SYSTEM_TRANSACTION",
                    "CREDIT_CARD_PURCHASE",
                    "SALARY",
                    "GBAT10_IMPORT",
                    "FINSTA",
                    "PRO_TRANSACTION"
                ],
                "description": "Contains enums for transaction source types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\TransactionSourceTypeEnum"
                ]
            },
            "enumTransactionTypeEnum": {
                "type": "string",
                "enum": [
                    "DEBT_COLLECTION_CASE_EVENT",
                    "DELETED_LATE_PAYMENT_FEES_BEFORE_DEBT_COLLECTION",
                    "INCOME_STATEMENT",
                    "INVOICE",
                    "INVOICE_SALE",
                    "LOSS",
                    "MANUAL_TRANSACTION",
                    "PAYBACK",
                    "PAYMENT",
                    "PAYMENT_FROM_SKULS",
                    "PAYMENT_REMINDER",
                    "PAYOUT",
                    "VAT_SETTLEMENT",
                    "PAYMENT_FROM_KRAVIA",
                    "REVERSAL_OF_EXPENSES_FOR_PRIVATE_USE_OF_CAR",
                    "REALISED_GAIN_OR_LOSS",
                    "DEPRECIATION",
                    "TRANSFERRED_TO_NEGATIVE_BALANCE",
                    "VAT_PAYMENT",
                    "FINANCIAL_STATEMENT"
                ],
                "description": "Contains enums that specify the transaction types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\TransactionTypeEnum"
                ]
            },
            "enumUserBlockedStatusEnum": {
                "type": "string",
                "enum": [
                    "NOT_BLOCKED",
                    "ABUSE",
                    "BLOCKED"
                ],
                "description": "Contains the different levels of blocking that a user can have.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Asgard\\Enum\\UserBlockedStatusEnum"
                ]
            },
            "enumUserRoleEnum": {
                "type": "string",
                "enum": [
                    "USER",
                    "ADMIN",
                    "SUPERADMIN"
                ],
                "description": "Contains the roles a user can have.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Asgard\\Enum\\UserRoleEnum"
                ]
            },
            "enumVatCodeTypeConst": {
                "type": "string",
                "enum": [
                    "input.no.vat",
                    "input.high",
                    "input.high.adjustment",
                    "input.high.reversal",
                    "input.high.loss",
                    "input.medium",
                    "input.medium.loss",
                    "input.raw.fish",
                    "input.low",
                    "input.low.loss",
                    "input.high.import",
                    "input.medium.import",
                    "output.high",
                    "output.high.withdrawal",
                    "output.zero.rate",
                    "output.zero.rate.withdrawal",
                    "output.exempted",
                    "output.exempted.withdrawal",
                    "output.no.vat",
                    "output.medium",
                    "output.medium.withdrawal",
                    "output.raw.fish",
                    "output.low",
                    "output.low.withdrawal",
                    "output.reversed.vat",
                    "output.export",
                    "cost.no.vat",
                    "cost.high.basis.import",
                    "cost.medium.basis.import",
                    "import.goods.high.deductible",
                    "import.goods.high.deductible.reversal",
                    "import.goods.high.deductible.adjustment",
                    "import.goods.high.not.deductible",
                    "import.goods.medium.deductible",
                    "import.goods.medium.not.deductible",
                    "import.goods.zero.rate",
                    "import.services.high.deductible",
                    "import.services.high.not.deductible",
                    "import.services.low.deductible",
                    "import.services.low.not.deductible",
                    "emission.or.gold.deductible",
                    "emission.or.gold.not.deductible"
                ],
                "description": "Contains enums for all the different VAT codes.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_CONSTANT",
                    "Conta\\Backend\\Deprecated\\TypeConst\\VatCodeTypeConst",
                    "ASGARD_TYPE_STRING"
                ]
            },
            "enumVatCodeTypeEnum": {
                "type": "string",
                "enum": [
                    "input.no.vat",
                    "input.high",
                    "input.high.adjustment",
                    "input.high.reversal",
                    "input.high.loss",
                    "input.medium",
                    "input.medium.loss",
                    "input.raw.fish",
                    "input.low",
                    "input.low.loss",
                    "input.high.import",
                    "input.medium.import",
                    "output.high",
                    "output.high.withdrawal",
                    "output.zero.rate",
                    "output.zero.rate.withdrawal",
                    "output.exempted",
                    "output.exempted.withdrawal",
                    "output.no.vat",
                    "output.medium",
                    "output.medium.withdrawal",
                    "output.raw.fish",
                    "output.low",
                    "output.low.withdrawal",
                    "output.reversed.vat",
                    "output.export",
                    "cost.no.vat",
                    "cost.high.basis.import",
                    "cost.medium.basis.import",
                    "import.goods.high.deductible",
                    "import.goods.high.deductible.reversal",
                    "import.goods.high.deductible.adjustment",
                    "import.goods.high.not.deductible",
                    "import.goods.medium.deductible",
                    "import.goods.medium.not.deductible",
                    "import.goods.zero.rate",
                    "import.services.high.deductible",
                    "import.services.high.not.deductible",
                    "import.services.low.deductible",
                    "import.services.low.not.deductible",
                    "emission.or.gold.deductible",
                    "emission.or.gold.not.deductible"
                ],
                "description": "Contains enums for all the different VAT codes.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\VatCodeTypeEnum"
                ]
            },
            "enumVatDisplayCodeConst": {
                "type": "integer",
                "enum": [
                    21,
                    22,
                    20,
                    91,
                    92,
                    81,
                    81,
                    81,
                    82,
                    83,
                    84,
                    85,
                    86,
                    87,
                    88,
                    89,
                    1,
                    1,
                    14,
                    1,
                    1,
                    13,
                    13,
                    11,
                    15,
                    11,
                    0,
                    12,
                    6,
                    6,
                    52,
                    3,
                    3,
                    33,
                    33,
                    31,
                    31,
                    7,
                    32,
                    51,
                    5,
                    5
                ],
                "description": "Display codes for the VATs."
            },
            "enumVatHandlingTypeEnum": {
                "type": "string",
                "enum": [
                    "NO_HANDLING",
                    "SPLIT_VAT",
                    "ADD_VAT",
                    "ADD_100_PERCENT"
                ],
                "description": "List of all VAT handling types.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\VatHandlingTypeEnum"
                ]
            },
            "enumVatSpecificationTypeEnum": {
                "type": "string",
                "enum": [
                    "ADJUSTMENT",
                    "LOSS",
                    "NONE",
                    "REVERSAL",
                    "WITHDRAWAL"
                ],
                "description": "List of specification types for VAT codes.",
                "x-asgard-datatype": [
                    "ASGARD_TYPE_ENUM",
                    "Conta\\Jotunheim\\Enum\\Sql\\VatSpecificationTypeEnum"
                ]
            },
            "errorResponseCustom": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "description": "Defines type of error information returned. In this case the value is \"CUSTOM\" and its contents describes the CUSTOM error.",
                        "default": "CUSTOM"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of exception that failed. For this error response type this equals to the name of the custom exception. The possible exceptions are listed as responses in the individual requests.",
                        "default": "CustomException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "$ref": "#\/components\/schemas\/enumLanguageEnum"
                        },
                        "description": "Textual description of what went wrong, indexed by the language. Described in the exceptions associated with the responses of the request.",
                        "default": {
                            "EN": "English error message",
                            "NO": "Norwegian error message"
                        }
                    }
                },
                "description": "Exceptions expressing errors within the \"business logic\".",
                "required": [
                    "category",
                    "name",
                    "messages"
                ]
            },
            "errorResponseInput": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "description": "Defines type of error information returned. In this case the value is \"INPUT\" and its contents describes the INPUT error.",
                        "default": "INPUT"
                    },
                    "name": {
                        "type": "string",
                        "description": "Input to the route is invalid.",
                        "default": "InputOpException"
                    },
                    "input": {
                        "$ref": "#\/components\/schemas\/UserModel"
                    },
                    "errors": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Objects defining the different input validation errors.",
                        "default": [
                            {
                                "type": "propertyCondition",
                                "id": "required",
                                "property": {
                                    "path": "propertyPath",
                                    "value": "valueThatFailed",
                                    "pathName": {
                                        "EN": "translation of property name in english",
                                        "NO": "translation of property name in norwegian"
                                    },
                                    "dataType": [
                                        "ASGARD_TYPE_STRING"
                                    ]
                                },
                                "messages": {
                                    "EN": "english message",
                                    "NO": "norwegian message"
                                }
                            }
                        ]
                    }
                },
                "description": "Input to the route is invalid.",
                "required": [
                    "category",
                    "name",
                    "input",
                    "errors"
                ]
            },
            "errorResponseSystem": {
                "type": "object",
                "properties": {
                    "category": {
                        "type": "string",
                        "description": "Defines type of error information returned. In this case the value is SYSTEM.",
                        "default": "SYSTEM"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of exception that failed.",
                        "default": "SystemException"
                    },
                    "messages": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Textual description in english of what went wrong.",
                        "default": {
                            "EN": "Textual description of error"
                        }
                    }
                },
                "description": "Thrown to indicate an unrecoverable error by logic or state within the application.",
                "required": [
                    "category",
                    "name",
                    "messages"
                ]
            },
            "fileTooLargeException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "maxSize": {
                                        "type": "integer",
                                        "description": "Max allowed size the file was allowed to have."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "FileTooLargeException"
                            }
                        },
                        "description": "Indicates that the file that was tried to be uploaded was too large.",
                        "required": [
                            "maxSize"
                        ]
                    }
                ]
            },
            "foreignCurrencyInvoiceDateNeedsToBeTodayException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "ForeignCurrencyInvoiceDateNeedsToBeTodayException"
                            }
                        },
                        "description": "Thrown when a sale or invoice document in foreign currency has a document date other than today.",
                        "required": []
                    }
                ]
            },
            "incomeStatementIsOnlyAllowedForNorwegianEnkOrgsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "IncomeStatementIsOnlyAllowedForNorwegianEnkOrgsException"
                            }
                        },
                        "description": "Exception thrown when trying to generate the income statement report and org is not of type NORWEGIAN_ENK.",
                        "required": []
                    }
                ]
            },
            "interestRateForEnkUnknownException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "year": {
                                        "type": "integer",
                                        "description": "Year interest-rate was looked for."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InterestRateForEnkUnknownException"
                            }
                        },
                        "description": "Exception thrown when interest rate for ENK is not set or not activated.",
                        "required": [
                            "year"
                        ]
                    }
                ]
            },
            "invalidIbanException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "iban": {
                                        "type": "string",
                                        "description": "The invalid iban, registered in the given account."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvalidIbanException"
                            }
                        },
                        "description": "Exception to be thrown when the user has a bank account with an invalid iban.",
                        "required": [
                            "iban"
                        ]
                    }
                ]
            },
            "invalidVatCodeOnTheDateProvidedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "vatStartDateString": {
                                        "type": "string",
                                        "description": "The VAT start date."
                                    },
                                    "vatEndDateString": {
                                        "type": "string",
                                        "description": "The VAT end date."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvalidVatCodeOnTheDateProvidedException"
                            }
                        },
                        "description": "Exception thrown when informed vat code is not valid on the provided invoice date.",
                        "required": [
                            "vatStartDateString",
                            "vatEndDateString"
                        ]
                    }
                ]
            },
            "invoiceCanNotBeClosedWithLossException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "description": {
                                        "type": "string",
                                        "description": "Why the invoice can't be closed with loss."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceCanNotBeClosedWithLossException"
                            }
                        },
                        "description": "Exception thrown if an invoice can't be closed with loss.",
                        "required": [
                            "description"
                        ]
                    }
                ]
            },
            "invoiceCanNotBeCreditedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceCanNotBeCreditedException"
                            }
                        },
                        "description": "Used when trying to credit a full invoice and its not allowed.",
                        "required": []
                    }
                ]
            },
            "invoiceCanNotBeSentTwiceWithin24HoursException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceCanNotBeSentTwiceWithin24HoursException"
                            }
                        },
                        "description": "Thrown when trying to resend an invoice by EHF and haven't passed 24 hours.",
                        "required": []
                    }
                ]
            },
            "invoiceDateCannotBeNullWhenTypeNormalException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceDateCannotBeNullWhenTypeNormalException"
                            }
                        },
                        "description": "Exception thrown when the the invoice type is NORMAL and there is no invoiceDate.",
                        "required": []
                    }
                ]
            },
            "invoiceDateInPastException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceDateInPastException"
                            }
                        },
                        "description": "Thrown when date is a past date, but expects either today's date or a date in the future.",
                        "required": []
                    }
                ]
            },
            "invoiceDateIsTodayException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceDateIsTodayException"
                            }
                        },
                        "description": "Thrown when date is set for today, but expects either a date in the future or in the past.",
                        "required": []
                    }
                ]
            },
            "invoiceDateMustEqualDeliveryDateWhenRepeatingException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceDateMustEqualDeliveryDateWhenRepeatingException"
                            }
                        },
                        "description": "Thrown when an invoice is repeated and the invoiceDate differs from deliveryDate.",
                        "required": []
                    }
                ]
            },
            "invoiceDoesNotBelongToCustomerException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "invoiceId": {
                                        "type": "integer",
                                        "description": "The invoice id."
                                    },
                                    "customerId": {
                                        "type": "integer",
                                        "description": "The customer id."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceDoesNotBelongToCustomerException"
                            }
                        },
                        "description": "Exception that is thrown when a customer id is not the same as in the invoice.",
                        "required": [
                            "invoiceId",
                            "customerId"
                        ]
                    }
                ]
            },
            "invoiceDraftCreatedWithAttachmentException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "referer": {
                                        "type": "string",
                                        "description": "The referer URL.",
                                        "nullable": true
                                    },
                                    "origin": {
                                        "type": "string",
                                        "description": "The origin URL.",
                                        "nullable": true
                                    },
                                    "clientIpAddress": {
                                        "type": "string",
                                        "description": "The client IP address.",
                                        "nullable": true
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceDraftCreatedWithAttachmentException"
                            }
                        },
                        "description": "Exception to be thrown when an attempt is made to create an invoice draft with an attachment.",
                        "required": []
                    }
                ]
            },
            "invoiceEmailSendingBlockedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceEmailSendingBlockedException"
                            }
                        },
                        "description": "Exception thrown when invoice email sending is blocked by the anti-spam protection.",
                        "required": []
                    }
                ]
            },
            "invoiceHasManualTransactionOnRegnskapException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "transactionNoYear": {
                                        "type": "string",
                                        "description": "The transaction number and year.",
                                        "nullable": true
                                    },
                                    "transactionsNoYear": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        },
                                        "description": "The transactionNoYear for the received transactions."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceHasManualTransactionOnRegnskapException"
                            }
                        },
                        "description": "Exception thrown when trying to create a credit note for an invoice having actions\/events created on Regnskap.",
                        "required": [
                            "transactionsNoYear"
                        ]
                    }
                ]
            },
            "invoiceHasPaymentsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceHasPaymentsException"
                            }
                        },
                        "description": "Exception thrown when the invoice already has a payment, but cannot.",
                        "required": []
                    }
                ]
            },
            "invoiceIsClosedWithLossException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceIsClosedWithLossException"
                            }
                        },
                        "description": "Used when trying to do an action on an invoice that's forbidden to do because the invoice is closed with loss.",
                        "required": []
                    }
                ]
            },
            "invoiceIsMoreThanThreeYearsOldException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceIsMoreThanThreeYearsOldException"
                            }
                        },
                        "description": "Exception thrown when the user tries to create a regular invoice that is more than three years old.",
                        "required": []
                    }
                ]
            },
            "invoiceNeedsBankAccountToBeSentAsEfakturaException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "invoiceNo": {
                                        "type": "integer",
                                        "description": "The invoice number."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceNeedsBankAccountToBeSentAsEfakturaException"
                            }
                        },
                        "description": "Exception thrown when an invoice is being sent as E-Faktura but it does not have a bankAccountId set.",
                        "required": [
                            "invoiceNo"
                        ]
                    }
                ]
            },
            "invoiceNeedsBankAccountToBeSentAsEhfException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "invoiceNo": {
                                        "type": "integer",
                                        "description": "The invoice number."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceNeedsBankAccountToBeSentAsEhfException"
                            }
                        },
                        "description": "Exception thrown when an invoice is being sent as EHF but it does not have a bankAccountId set.",
                        "required": [
                            "invoiceNo"
                        ]
                    }
                ]
            },
            "invoiceOnKraviaHasPaymentsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceOnKraviaHasPaymentsException"
                            }
                        },
                        "description": "Exception thrown when the invoice is on kravia and has some payments.",
                        "required": []
                    }
                ]
            },
            "invoiceSumRemainingLessThanSumTotalException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "sumTotal": {
                                        "type": "number",
                                        "description": "The total sum on the invoice."
                                    },
                                    "sumRemaining": {
                                        "type": "number",
                                        "description": "The sum remaining on the invoice."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceSumRemainingLessThanSumTotalException"
                            }
                        },
                        "description": "Thrown when the SumRemaining is less than the SumTotal on an invoice.",
                        "required": [
                            "sumTotal",
                            "sumRemaining"
                        ]
                    }
                ]
            },
            "invoiceSumTotalCanNotBeNegativeException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceSumTotalCanNotBeNegativeException"
                            }
                        },
                        "description": "Exception thrown when invoice type is NORMAL and sumTotal is negative. If sumTotal is negative the invoice is a credit note.",
                        "required": []
                    }
                ]
            },
            "invoiceSumTotalOutOfRangeException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "sumTotal": {
                                        "type": "number",
                                        "description": "The total sum on the invoice."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "InvoiceSumTotalOutOfRangeException"
                            }
                        },
                        "description": "Thrown when the SumTotal is less than the Float min value and greater then float max value on an invoice.",
                        "required": [
                            "sumTotal"
                        ]
                    }
                ]
            },
            "kidTransactionNotProcessedByScriptException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "KidTransactionNotProcessedByScriptException"
                            }
                        },
                        "description": "Thrown when trying to process manually a kid transaction that hasn't been processed by the script yet.",
                        "required": []
                    }
                ]
            },
            "multiPaymentSumMustBeSameAsKidTransactionSumException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "MultiPaymentSumMustBeSameAsKidTransactionSumException"
                            }
                        },
                        "description": "Thrown when the sum of all partial payments does not match kid transaction amount.",
                        "required": []
                    }
                ]
            },
            "nextInvoiceNoNotSetException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "NextInvoiceNoNotSetException"
                            }
                        },
                        "description": "Exception to be thrown when the organization does not have set a starting number for their invoices.",
                        "required": []
                    }
                ]
            },
            "noPaymentsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "NoPaymentsException"
                            }
                        },
                        "description": "Exception thrown when the invoice has no payments to be deleted.",
                        "required": []
                    }
                ]
            },
            "notEnoughContaCreditsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "amountNeeded": {
                                        "type": "integer",
                                        "description": "The number of conta credits lacking on the org's conta credit inventory."
                                    },
                                    "contaCreditType": {
                                        "$ref": "#\/components\/schemas\/enumContaCreditTypeEnum"
                                    },
                                    "availablePackages": {
                                        "$ref": "#\/components\/schemas\/arrayOfContaCreditPackageModel"
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "NotEnoughContaCreditsException"
                            }
                        },
                        "description": "Exception thrown when the user has less credit of a certain type than the amount he is trying to spend.",
                        "required": [
                            "amountNeeded",
                            "contaCreditType",
                            "availablePackages"
                        ]
                    }
                ]
            },
            "notPossibleToRegisterRegularPaymentsForInvoicesWithForeignCurrenciesException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "NotPossibleToRegisterRegularPaymentsForInvoicesWithForeignCurrenciesException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to create a regular payment involving an invoice with foreign currency.",
                        "required": []
                    }
                ]
            },
            "oldInvoiceCannotBeOlderThanThreeFullCalendarYearsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "OldInvoiceCannotBeOlderThanThreeFullCalendarYearsException"
                            }
                        },
                        "description": "Exception thrown when the user tries to create an old invoice that is older than three full calendar years.",
                        "required": []
                    }
                ]
            },
            "oldInvoiceNeedsToUploadFileException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "OldInvoiceNeedsToUploadFileException"
                            }
                        },
                        "description": "Exception thrown when the user tries to create an old invoice without uploading the invoice file.",
                        "required": []
                    }
                ]
            },
            "onlyManualTransactionsCanBeResetByLinesException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "OnlyManualTransactionsCanBeResetByLinesException"
                            }
                        },
                        "description": "Exception to be throw when the user tries to reset a transaction with type other than MANUAL_TRANSACTION by lines.",
                        "required": []
                    }
                ]
            },
            "onlyNormalInvoicesCanHaveForeignCurrencyException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "OnlyNormalInvoicesCanHaveForeignCurrencyException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to create an invoice with type other than NORMAL with a foreign currency.",
                        "required": []
                    }
                ]
            },
            "orgCannotReceiveEhfException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "OrgCannotReceiveEhfException"
                            }
                        },
                        "description": "Exception thrown when an org cannot receive EHFs.",
                        "required": []
                    }
                ]
            },
            "orgCouldNotBeRegisteredAsEfakturaIssuerException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "reason": {
                                        "type": "string",
                                        "description": "Identifier result from eFaktura API."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "OrgCouldNotBeRegisteredAsEfakturaIssuerException"
                            }
                        },
                        "description": "Exception thrown when an invoice is being sent as e-faktura to a private recipient that cannot receive invoices as e-faktura.",
                        "required": [
                            "reason"
                        ]
                    }
                ]
            },
            "orgHasUsedForbiddenBookkeepingAccountsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "forbiddenBookkeepingAccounts": {
                                        "type": "string",
                                        "description": "The list of forbidden accounts."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "OrgHasUsedForbiddenBookkeepingAccountsException"
                            }
                        },
                        "description": "Exception thrown on income stetement report if org has used forbidden bookkeeping accounts.",
                        "required": [
                            "forbiddenBookkeepingAccounts"
                        ]
                    }
                ]
            },
            "orgIsNotEnkException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "OrgIsNotEnkException"
                            }
                        },
                        "description": "Exception used to validate actions only allowed for orgs of type ENK.",
                        "required": []
                    }
                ]
            },
            "orgMustHaveBankAccountException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "OrgMustHaveBankAccountException"
                            }
                        },
                        "description": "The organisation must have a bank account.",
                        "required": []
                    }
                ]
            },
            "paymentDateInFutureException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "today": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The current date used to perform the action required."
                                    },
                                    "dateProvided": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The date used to compare to the current date."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "PaymentDateInFutureException"
                            }
                        },
                        "description": "Thrown when the user tries to perform an action with a date that cannot be past the current date.",
                        "required": [
                            "today",
                            "dateProvided"
                        ]
                    }
                ]
            },
            "paymentsFromKraviaCannotBeBeforeInvoiceHasBeenSentToKraviaException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "paymentDate": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Date payment was made."
                                    },
                                    "sentToKravia": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "Date invoice was sent to Kravia."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "PaymentsFromKraviaCannotBeBeforeInvoiceHasBeenSentToKraviaException"
                            }
                        },
                        "description": "Exception to be thrown when try to make a payment to invoices with date before has been sent to Kravia.",
                        "required": [
                            "paymentDate",
                            "sentToKravia"
                        ]
                    }
                ]
            },
            "previousYearDataCanOnlyBeSentForFirstYearException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "PreviousYearDataCanOnlyBeSentForFirstYearException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to send data for previous year for an annual report other than the organizations's first\nbookkeeping year.",
                        "required": []
                    }
                ]
            },
            "projectIsClosedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "ProjectIsClosedException"
                            }
                        },
                        "description": "Exception thrown when trying to register a transaction for a closed project.",
                        "required": []
                    }
                ]
            },
            "projectIsNotActiveOnTheDateProvidedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "ProjectIsNotActiveOnTheDateProvidedException"
                            }
                        },
                        "description": "Exception thrown when trying to register a transaction for project that isn't active on the date provided.",
                        "required": []
                    }
                ]
            },
            "projectNotFoundException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "ProjectNotFoundException"
                            }
                        },
                        "description": "Exception thrown when a project isn't found.",
                        "required": []
                    }
                ]
            },
            "psd2PaymentIsAlreadySentToBeProcessedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "Psd2PaymentIsAlreadySentToBeProcessedException"
                            }
                        },
                        "description": "",
                        "required": []
                    }
                ]
            },
            "recurringCreditNotesCanNotBeCreatedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "RecurringCreditNotesCanNotBeCreatedException"
                            }
                        },
                        "description": "Used when trying to create recurring invoice with negtive amount.",
                        "required": []
                    }
                ]
            },
            "regnskapStartDateIsNotSetException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "RegnskapStartDateIsNotSetException"
                            }
                        },
                        "description": "Thrown when trying to perform actions that requires Regnskap start date and it is not set.",
                        "required": []
                    }
                ]
            },
            "subscriptionInvoiceLimitException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "SubscriptionInvoiceLimitException"
                            }
                        },
                        "description": "Exception thrown when invoice limit is reached on org subscription.",
                        "required": []
                    }
                ]
            },
            "subscriptionPlanException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "SubscriptionPlanException"
                            }
                        },
                        "description": "Exception thrown when partner portal subscription plan does not allow access to feature.",
                        "required": []
                    }
                ]
            },
            "supplierIsRequiredForRegisterPurchaseException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "SupplierIsRequiredForRegisterPurchaseException"
                            }
                        },
                        "description": "Exception to be thrown when the user tries to create a purchase transaction without a supplier.",
                        "required": []
                    }
                ]
            },
            "tooManyCcRecipientsException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "TooManyCcRecipientsException"
                            }
                        },
                        "description": "Exception thrown when trying to add more than 10 CC recipients to an email.",
                        "required": []
                    }
                ]
            },
            "transactionAlreadyResetException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "transactionId": {
                                        "type": "integer",
                                        "description": "The id of the transaction already reset."
                                    },
                                    "resetByTransactionId": {
                                        "type": "integer",
                                        "description": "The id of the transaction which reset the original one."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "TransactionAlreadyResetException"
                            }
                        },
                        "description": "Exception thrown when an operation tries to reset an already reset transaction.",
                        "required": [
                            "transactionId",
                            "resetByTransactionId"
                        ]
                    }
                ]
            },
            "transactionCannotBeUpdatedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "TransactionCannotBeUpdatedException"
                            }
                        },
                        "description": "Exception thrown when user tries to updated a transaction that cannot be updated.",
                        "required": []
                    }
                ]
            },
            "transactionDiffersDebitAndCreditAmountException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "debitAmount": {
                                        "type": "number",
                                        "description": "The amount of debit."
                                    },
                                    "creditAmount": {
                                        "type": "number",
                                        "description": "The amount of credit."
                                    },
                                    "transactionSourceType": {
                                        "$ref": "#\/components\/schemas\/enumTransactionSourceTypeEnum"
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "TransactionDiffersDebitAndCreditAmountException"
                            }
                        },
                        "description": "Exception thrown when trying to create a transaction manually but the amount of credit\/debit differs.",
                        "required": [
                            "debitAmount",
                            "creditAmount"
                        ]
                    }
                ]
            },
            "transactionIsNotBalancedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "sum": {
                                        "type": "number",
                                        "description": "Calculated sum of transaction lines."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "TransactionIsNotBalancedException"
                            }
                        },
                        "description": "Exception used when transaction is not balanced.",
                        "required": [
                            "sum"
                        ]
                    }
                ]
            },
            "transactionLinesAreNotBalancedWithinTheYearException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "TransactionLinesAreNotBalancedWithinTheYearException"
                            }
                        },
                        "description": "Exception used when transaction lines are not balanced within a year.",
                        "required": []
                    }
                ]
            },
            "transactionNotFoundException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "TransactionNotFoundException"
                            }
                        },
                        "description": "Exception thrown when an operation need a transaction and it wasn't provided.",
                        "required": []
                    }
                ]
            },
            "transactionShouldBeRemovedBeforeDeletePaymentException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "TransactionShouldBeRemovedBeforeDeletePaymentException"
                            }
                        },
                        "description": "Exception used try to delete an invoice payment without removing the transaction.",
                        "required": []
                    }
                ]
            },
            "transactionYearCannotBeChangedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "TransactionYearCannotBeChangedException"
                            }
                        },
                        "description": "Exception thrown when user tries to updated the year of a transaction.",
                        "required": []
                    }
                ]
            },
            "unableToCreateKidNoException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "UnableToCreateKidNoException"
                            }
                        },
                        "description": "Thrown when unable to create a new id number.",
                        "required": []
                    }
                ]
            },
            "vatCodeNotAllowedForOrgException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "vatCode": {
                                        "type": "string",
                                        "description": "The VAT code."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "VatCodeNotAllowedForOrgException"
                            }
                        },
                        "description": "Exception thrown when an org tries to use a VAT code that is not allowed\/activated in the org's available VAT codes list.",
                        "required": [
                            "vatCode"
                        ]
                    }
                ]
            },
            "vatPeriodIsAlreadySettledException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "vatSettlementId": {
                                        "type": "integer",
                                        "description": "The id of the VAT settlement."
                                    },
                                    "fromDate": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The VAT settlement start period."
                                    },
                                    "toDate": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "The VAT settlement end period."
                                    },
                                    "fromMonth": {
                                        "type": "string",
                                        "description": "The VAT settlement start month."
                                    },
                                    "toMonth": {
                                        "type": "string",
                                        "description": "The VAT settlement end month."
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "VatPeriodIsAlreadySettledException"
                            }
                        },
                        "description": "Exception used when user tries to settle a VAT period that is already settled.",
                        "required": [
                            "vatSettlementId",
                            "fromDate",
                            "toDate",
                            "fromMonth",
                            "toMonth"
                        ]
                    }
                ]
            },
            "vatSettlementIsAlreadyReopenedException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "VatSettlementIsAlreadyReopenedException"
                            }
                        },
                        "description": "Exception used when user tries to reopen a VAT settlement that is already reopened.",
                        "required": []
                    }
                ]
            },
            "wrongInvoiceLinesNumberingException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "WrongInvoiceLinesNumberingException"
                            }
                        },
                        "description": "Exception thrown when receiving wrong invoice lines. They must be correctly numbered if set, starting in 1, 2, 3, 4, .",
                        "required": []
                    }
                ]
            },
            "wrongInvoiceTypeException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": {
                                    "allowedTypes": {
                                        "$ref": "#\/components\/schemas\/arrayOfEnumInvoiceTypeEnum"
                                    }
                                },
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "WrongInvoiceTypeException"
                            }
                        },
                        "description": "Exception thrown when the user tries to perform an action in an invoice of wrong type.",
                        "required": [
                            "allowedTypes"
                        ]
                    }
                ]
            },
            "wrongVatCodeException": {
                "allOf": [
                    {
                        "$ref": "#\/components\/schemas\/errorResponseCustom"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "properties": {
                                "type": "object",
                                "properties": [],
                                "description": "Properties related to the exception"
                            },
                            "name": {
                                "type": "string",
                                "description": "Name of exception that failed",
                                "default": "WrongVatCodeException"
                            }
                        },
                        "description": "Exception thrown when an organisation tries to use a VAT code not available for that organisation type.",
                        "required": []
                    }
                ]
            }
        }
    },
    "appConfig": {
        "maxFileUploads": "100"
    }
}