{
  "openapi": "3.0.1",
  "info": {
    "title": "deposits",
    "version": "v2"
  },
  "servers": [
    {
      "url": "http://localhost:8889/api"
    },
    {
      "url": "https://localhost:8889/api"
    }
  ],
  "security": [
    {
      "basic": []
    }
  ],
  "tags": [
    {
      "name": "Deposit Account Balances",
      "description": "Get historical balances for the deposit account"
    },
    {
      "name": "Deposit Account Documents",
      "description": "Get deposit account document."
    },
    {
      "name": "Deposit Accounts",
      "description": "Get, create, update, or delete deposit accounts."
    },
    {
      "name": "Deposit Account Interest Availability",
      "description": "Allows you to create, get, update or delete Interest Availabilities."
    },
    {
      "name": "FundedLoanAccounts",
      "description": "Allows retrieval of the loan account schedule for a loan account with the given id or encodedKey and funded by the deposit account with the given id or encodedKey."
    },
    {
      "name": "MultipleDepositsTransactionAsync",
      "description": "Make multiple automatic asynchronous deposit transactions for deposit accounts. This feature is disabled by default, please get in touch with your Mambu Customer Success Manager to enable this feature."
    }
  ],
  "paths": {
    "/deposits": {
      "get": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Get deposit accounts",
        "operationId": "getAll",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Pagination, the number of elements to retrieve, used in combination with offset to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "paginationDetails",
            "in": "query",
            "description": "Flag specifying whether the pagination  details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs",
            "schema": {
              "type": "string",
              "enum": [
                "ON",
                "OFF"
              ],
              "default": "OFF"
            }
          },
          {
            "name": "detailsLevel",
            "in": "query",
            "description": "The level of details to return: `FULL` means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and `BASIC` will return only the first level elements of the object.",
            "schema": {
              "type": "string",
              "description": "Containing allowed values for 'detailsLevel' query parameter. For instance, when fetching a branch from the system, one can specify whether he wants the result to include the full details of a branch, such as addresses, custom field values, branch holidays or not",
              "enum": [
                "BASIC",
                "FULL"
              ]
            }
          },
          {
            "name": "creditOfficerUsername",
            "in": "query",
            "description": "The username of the credit officer assigned to the deposit accounts.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "branchId",
            "in": "query",
            "description": "The ID or encoded key of the branch assigned to the deposit accounts.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "centreId",
            "in": "query",
            "description": "The ID or encoded key of the centre assigned to the deposit accounts.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountState",
            "in": "query",
            "description": "The state to use to filter deposit accounts by.",
            "schema": {
              "type": "string",
              "enum": [
                "PENDING_APPROVAL",
                "APPROVED",
                "ACTIVE",
                "ACTIVE_IN_ARREARS",
                "MATURED",
                "LOCKED",
                "DORMANT",
                "CLOSED",
                "CLOSED_WRITTEN_OFF",
                "WITHDRAWN",
                "CLOSED_REJECTED"
              ]
            }
          },
          {
            "name": "accountHolderType",
            "in": "query",
            "description": "The account holder type.",
            "schema": {
              "type": "string",
              "description": "Indicated the account holder type.",
              "enum": [
                "CLIENT",
                "GROUP"
              ]
            }
          },
          {
            "name": "accountHolderId",
            "in": "query",
            "description": "The ID of the account holder.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Deposit accounts list returned.",
            "headers": {
              "Items-Limit": {
                "description": "Pagination details, the requested page size",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              },
              "Items-Offset": {
                "description": "Pagination details, the index of the first returned item",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              },
              "Items-Total": {
                "description": "Pagination details, the total available items",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepositAccount"
                  }
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Currency not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_SAVINGS_ACCOUNT_DETAILS"
          ]
        }
      },
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Create deposit account",
        "operationId": "create",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents the information to create a deposit account.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepositAccount"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "201": {
            "description": "The deposit account has been created.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAccount"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "CREATE_SAVINGS_ACCOUNT"
          ]
        }
      }
    },
    "/deposits/bulkUpdates": {
      "put": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Bulk update deposit accounts",
        "operationId": "bulkUpdateAccounts",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents the information to bulk update deposit accounts.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDepositAccountUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The bulk update has been completed.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkDepositAccountUpdateResponse"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkDepositAccountUpdateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "EDIT_SAVINGS_ACCOUNT"
          ]
        }
      }
    },
    "/deposits/interest-availabilities:bulk": {
      "post": {
        "tags": [
          "Deposit Account Interest Availability"
        ],
        "summary": "Create Interest Availabilities for a group of accounts",
        "operationId": "makeBulkInterestAccountSettingsAvailabilities",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The information for creating bulk Interest Availabilities.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkInterestAccountSettingsAvailabilityInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "202": {
            "description": "The bulk Interest Availabilities have been created.",
            "headers": {
              "Location": {
                "description": "Bulk process key",
                "style": "simple",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "MAKE_BULK_CHANGE_INTEREST_AVAILABILITY"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}": {
      "get": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Get deposit account",
        "operationId": "getById",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "detailsLevel",
            "in": "query",
            "description": "The level of details to return: `FULL` means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and `BASIC` will return only the first level elements of the object.",
            "schema": {
              "type": "string",
              "description": "Containing allowed values for 'detailsLevel' query parameter. For instance, when fetching a branch from the system, one can specify whether he wants the result to include the full details of a branch, such as addresses, custom field values, branch holidays or not",
              "enum": [
                "BASIC",
                "FULL"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The deposit account has been returned.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAccount"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Deposit Account or Interest Availability does not exist.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_SAVINGS_ACCOUNT_DETAILS"
          ]
        }
      },
      "put": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Update deposit account",
        "operationId": "update",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepositAccount"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The deposit account has been updated.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAccount"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "EDIT_SAVINGS_ACCOUNT"
          ]
        }
      },
      "delete": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Delete inactive deposit account",
        "operationId": "delete",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The deposit account has been deleted."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "DELETE_SAVINGS_ACCOUNT"
          ]
        }
      },
      "patch": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Partially update deposit account",
        "operationId": "patch",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Patch operations to be applied to a resource.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PatchOperation"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "The deposit account has been updated."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "EDIT_SAVINGS_ACCOUNT"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/authorizationholds": {
      "get": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Get authorization holds related to a deposit account, ordered from newest to oldest by creation date",
        "operationId": "getAllAuthorizationHolds",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Pagination, the number of elements to retrieve, used in combination with offset to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "paginationDetails",
            "in": "query",
            "description": "Flag specifying whether the pagination  details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs",
            "schema": {
              "type": "string",
              "enum": [
                "ON",
                "OFF"
              ],
              "default": "OFF"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "The status of the authorization holds to filter on",
            "schema": {
              "type": "string",
              "description": "The enumeration containing the statuses of an authorization hold.",
              "enum": [
                "PENDING",
                "REVERSED",
                "SETTLED",
                "EXPIRED"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of authorization holds has been returned.",
            "headers": {
              "Items-Limit": {
                "description": "Pagination details, the requested page size",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              },
              "Items-Offset": {
                "description": "Pagination details, the index of the first returned item",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              },
              "Items-Total": {
                "description": "Pagination details, the total available items",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepositAuthorizationHold"
                  }
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_AUTHORIZATION_HOLD",
            "VIEW_ACCOUNT_HOLD"
          ]
        }
      },
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Create an authorization hold corresponding to a given account",
        "operationId": "createAuthorizationHold",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The authorization hold to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountAuthorizationHold"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "201": {
            "description": "The account authorization hold was successfully created.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountAuthorizationHold"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "CREATE_ACCOUNT_HOLD"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/authorizationholds/{authorizationHoldExternalReferenceId}": {
      "get": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Get account authorization hold",
        "operationId": "getAuthorizationHoldById",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "authorizationHoldExternalReferenceId",
            "in": "path",
            "description": "The ID used to reference the authorization hold.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The authorization hold has been returned.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountAuthorizationHold"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_ACCOUNT_HOLD"
          ]
        }
      },
      "delete": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Reverse account authorization hold",
        "operationId": "reverseAuthorizationHold",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "authorizationHoldExternalReferenceId",
            "in": "path",
            "description": "The ID used to reference the authorization hold.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The account authorization hold was successfully reversed."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The account or authorization hold was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "UPDATE_ACCOUNT_HOLD"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/balances": {
      "get": {
        "tags": [
          "Deposit Account Balances"
        ],
        "summary": "Get historical balances for the deposit account",
        "operationId": "getBalances",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "localDateTime",
            "in": "query",
            "description": "The datetime to retrieve balances for (in organization timezone). If not provided, returns balances for the current datetime.",
            "schema": {
              "$ref": "#/components/schemas/LocalDateTimeQueryParam"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The deposit account balances have been returned.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAccountBalances"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_SAVINGS_ACCOUNT_DETAILS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/blocks": {
      "get": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Get all block funds for a deposit account",
        "operationId": "getAllBlocks",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Pagination, the number of elements to retrieve, used in combination with offset to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "paginationDetails",
            "in": "query",
            "description": "Flag specifying whether the pagination  details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs",
            "schema": {
              "type": "string",
              "enum": [
                "ON",
                "OFF"
              ],
              "default": "OFF"
            }
          },
          {
            "name": "state",
            "in": "query",
            "description": "The state of the block fund to filter on",
            "schema": {
              "type": "string",
              "enum": [
                "PENDING",
                "SEIZED",
                "REMOVED",
                "PARTIALLY_SEIZED"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The block funds have been returned.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BlockFund"
                  }
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "BLOCK_AND_SEIZE_FUNDS"
          ]
        }
      },
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Create a block fund for the account",
        "operationId": "createBlockFund",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The block fund to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BlockFund"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "201": {
            "description": "The block fund was created.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/BlockFund"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "BLOCK_AND_SEIZE_FUNDS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/blocks/{externalReferenceId}": {
      "delete": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Unblock a previously blocked fund for a deposit account",
        "operationId": "unblockFund",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalReferenceId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The block fund has been removed."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The block fund was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "BLOCK_AND_SEIZE_FUNDS"
          ]
        }
      },
      "patch": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Updates the amount of an existing blocked fund on a deposit account. If the new amount equals the seized amount the block fund will transition to a seized state.",
        "operationId": "patchBlockFund",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalReferenceId",
            "in": "path",
            "description": "The external reference ID of the transaction.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Patch operations to be applied to a resource.",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PatchOperation"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "The block amount was updated."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The block fund was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "BLOCK_AND_SEIZE_FUNDS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/cards": {
      "get": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Get cards associated with an account",
        "operationId": "getAllCards",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of cards attached to the account was returned.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Card"
                  }
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_CARDS"
          ]
        }
      },
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Represents the information needed to create and associate a new card to an account.",
        "operationId": "createCard",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The card to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Card"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "201": {
            "description": "The card was created."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "CREATE_CARDS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/cards/{cardReferenceToken}": {
      "delete": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Represents the information needed to delete a card associated to an account using its reference token.",
        "operationId": "deleteCard",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cardReferenceToken",
            "in": "path",
            "description": "The reference token of the card to be returned.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The card was deleted."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "DELETE_CARDS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/funding": {
      "get": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Get all loan accounts funded by the deposit account with the given ID or encoded key",
        "operationId": "getFundedLoans",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of funded loan accounts has been returned.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LoanAccount"
                  }
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Deposit Account or Interest Availability does not exist.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_INVESTOR_FUNDS_DETAILS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/funding/{loanAccountId}/schedule": {
      "get": {
        "tags": [
          "FundedLoanAccounts"
        ],
        "summary": "Allows retrieval of the loan account schedule for a loan account with the given id or encodedKey and funded by the deposit account with the given id or encodedKey.",
        "operationId": "getScheduleForFundedAccount",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "loanAccountId",
            "in": "path",
            "description": "The ID or encoded key of the loan account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Funded Loan Account schedule retrieved",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/LoanAccountSchedule"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Loan Account or Deposit Account not found",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_INVESTOR_FUNDS_DETAILS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/interest-availabilities": {
      "get": {
        "tags": [
          "Deposit Account Interest Availability"
        ],
        "summary": "Get Interest Availabilities",
        "operationId": "getInterestAvailabilitiesList",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Pagination, the number of elements to retrieve, used in combination with offset to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "paginationDetails",
            "in": "query",
            "description": "Flag specifying whether the pagination  details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs",
            "schema": {
              "type": "string",
              "enum": [
                "ON",
                "OFF"
              ],
              "default": "OFF"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "The type of Interest Availabilities.",
            "schema": {
              "type": "string",
              "enum": [
                "INTEREST",
                "OVERDRAFT",
                "TECHNICAL_OVERDRAFT"
              ]
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "The start date to get Interest Availabilities.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "The end date to to get Interest Availabilities.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of Interest Availabilities has been returned.",
            "headers": {
              "Items-Limit": {
                "description": "Pagination details, the requested page size",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              },
              "Items-Offset": {
                "description": "Pagination details, the index of the first returned item",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              },
              "Items-Total": {
                "description": "Pagination details, the total available items",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InterestAccountSettingsAvailabilityResponse"
                  }
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Deposit Account or Interest Availability does not exist.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_SAVINGS_ACCOUNT_DETAILS"
          ]
        }
      },
      "post": {
        "tags": [
          "Deposit Account Interest Availability"
        ],
        "summary": "Create Interest Availability",
        "operationId": "createInterestAvailability",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The Interest Availability to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InterestAccountSettingsAvailability"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "201": {
            "description": "Interest Availability has been created.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/InterestAccountSettingsAvailabilityResponse"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "EDIT_SAVINGS_ACCOUNT"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/interest-availabilities/{interestAvailabilityKey}": {
      "get": {
        "tags": [
          "Deposit Account Interest Availability"
        ],
        "summary": "Get Interest Availability",
        "operationId": "getInterestAvailabilityById",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "interestAvailabilityKey",
            "in": "path",
            "description": "The encoded key of the Interest Availability.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Interest Availability has been returned.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/InterestAccountSettingsAvailabilityResponse"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Deposit Account or Interest Availability does not exist.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_SAVINGS_ACCOUNT_DETAILS"
          ]
        }
      },
      "put": {
        "tags": [
          "Deposit Account Interest Availability"
        ],
        "summary": "Update Interest Availability",
        "operationId": "updateInterestAvailability",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "interestAvailabilityKey",
            "in": "path",
            "description": "The encoded key of the Interest Availability.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The Interest Availability to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InterestAccountSettingsAvailabilityUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The Interest Availability has been updated.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/InterestAccountSettingsAvailabilityResponse"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Deposit Account or Interest Availability does not exist.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "EDIT_SAVINGS_ACCOUNT"
          ]
        }
      },
      "delete": {
        "tags": [
          "Deposit Account Interest Availability"
        ],
        "summary": "Delete Interest Availability",
        "operationId": "deleteInterestAvailability",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "interestAvailabilityKey",
            "in": "path",
            "description": "The encoded key of the Interest Availability.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The Interest Availability has been deleted."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Deposit Account or Interest Availability does not exist.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "EDIT_SAVINGS_ACCOUNT"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/templates/{templateId}": {
      "get": {
        "tags": [
          "Deposit Account Documents"
        ],
        "summary": "Get deposit account document",
        "operationId": "getDepositAccountDocument",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "templateId",
            "in": "path",
            "description": "The ID of the deposit product template.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The first date to consider when the document contains a list of transactions. Required when the document contains a transaction history.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "The last date to consider when the document contains a list of transactions. Required when the document contains a transaction history.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The deposit account document has been returned.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account or document template was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_SAVINGS_ACCOUNT_DETAILS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/templates/{templateId}/pdf": {
      "get": {
        "tags": [
          "Deposit Account Documents"
        ],
        "summary": "Download deposit account document PDF",
        "operationId": "getPdfDocument",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "templateId",
            "in": "path",
            "description": "The ID of the deposit product template.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "description": "The first date to consider when the document contains a list of transactions. Required when the document contains a transaction history.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "description": "The last date to consider when the document contains a list of transactions. Required when the document contains a transaction history.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The deposit account PDF document was returned.",
            "headers": {
              "Content-Disposition": {
                "description": "\"The format is - attachment; filename=\\\"{fileName}.extension\\\"\";",
                "style": "simple",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/vnd.mambu.v2+file": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+file": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+file": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+file": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account or document template was not found.",
            "content": {
              "application/vnd.mambu.v2+file": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_SAVINGS_ACCOUNT_DETAILS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}/transactions": {
      "post": {
        "tags": [
          "MultipleDepositsTransactionAsync"
        ],
        "summary": "Create multiple transactions for an account",
        "operationId": "makeMultipleTxAsync",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit that the transaction will be created for.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents the information needed to create multiple transactions.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MultipleAtomicGroupsInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "202": {
            "description": "Multiple transactions have been accepted.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/MultipleAtomicGroupsResponse"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/deposits/{depositAccountId}/withholdingtaxes": {
      "get": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Get deposit account withholding tax history",
        "operationId": "getWithholdingTaxHistory",
        "parameters": [
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "The start date to get withholding tax history.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "The end date to to get withholding tax history.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of withholding tax history for the given period.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccountTax"
                  }
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_SAVINGS_ACCOUNT_DETAILS"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}:applyInterest": {
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Represents information to apply accrued interest.",
        "operationId": "applyInterest",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit to apply interest to.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents information to apply accrued interest.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyInterestInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "204": {
            "description": "Interest has been applied."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "APPLY_ACCRUED_SAVINGS_INTEREST"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}:changeInterestRate": {
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Change deposit account interest rate",
        "operationId": "changeInterestRate",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents the information needed to change the interest rate.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeInterestRateAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "204": {
            "description": "The interest rate change has been applied to the deposit account."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "EDIT_SAVINGS_ACCOUNT"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}:changeState": {
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Represents the information to post an action, such as approving a deposit account.",
        "operationId": "changeState",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents the action details for a deposit account.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepositAccountAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "200": {
            "description": "The deposit account action has been posted.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAccount"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/deposits/{depositAccountId}:changeWithholdingTax": {
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Change deposit account withholding tax rate",
        "operationId": "changeWithholdingTax",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents the information needed to change the withholding tax rate.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeWithholdingTaxAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "204": {
            "description": "The withholding tax rate change has been applied to this deposit account."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "EDIT_SAVINGS_ACCOUNT"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}:reopen": {
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Reopen a deposit account",
        "operationId": "reopen",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit to be reopened.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents the information needed to reopen a deposit account.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReopenDepositAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "200": {
            "description": "Deposit account reopened.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAccount"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/deposits/{depositAccountId}:startMaturity": {
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Represents the information to post an action, such as approving a deposit account.",
        "operationId": "startMaturity",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents the action to start the maturity period for a deposit account.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartMaturityAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "200": {
            "description": "The start maturity action has been posted.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/DepositAccount"
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "ACTIVATE_MATURITY"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}:transferOwnership": {
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Transfer the account ownership from current account holder to a new one (client/group).",
        "operationId": "transferOwnership",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account to have it's ownership transferred.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The information needed to transfer the account ownership from current account holder to a new one.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferOwnershipAction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "204": {
            "description": "The account ownership has been transferred to the new account holder."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-required": {
          "required": [
            "EDIT_SAVINGS_ACCOUNT",
            "MANAGE_DEPOSIT_ACCOUNT_RECIPIENT"
          ]
        }
      }
    },
    "/deposits/{depositAccountId}:undoMaturity": {
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Represents the action to undo the maturity period for the specified deposit account.",
        "operationId": "undoMaturity",
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "description": "Key that can be used to support idempotency on this POST. Must be a valid UUID(version 4 is recommended) string and can only be used with the exact same request. Can be used in retry mechanisms to prevent double posting.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "depositAccountId",
            "in": "path",
            "description": "The ID or encoded key of the deposit account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Represents the action to undo the maturity period for the specified deposit account.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UndoMaturityAction"
              }
            }
          }
        },
        "responses": {
          "102": {
            "description": "Your idempotent request was already submitted and is currently being processed, try again later."
          },
          "204": {
            "description": "The undo maturity action has been posted."
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "The deposit account was not found.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "Operation cannot be performed due to another pending operation that locked shared resources.",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "UNDO_MATURITY"
          ]
        }
      }
    },
    "/deposits:search": {
      "post": {
        "tags": [
          "Deposit Accounts"
        ],
        "summary": "Search deposit accounts",
        "operationId": "search",
        "parameters": [
          {
            "name": "offset",
            "in": "query",
            "description": "Pagination, index to start searching at when retrieving elements, used in combination with limit to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Pagination, the number of elements to retrieve, used in combination with offset to paginate results",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "paginationDetails",
            "in": "query",
            "description": "Flag specifying whether the pagination  details should be provided in response headers. Please note that by default it is disabled (OFF), in order to improve the performance of the APIs",
            "schema": {
              "type": "string",
              "enum": [
                "ON",
                "OFF"
              ],
              "default": "OFF"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Pagination, cursor to start searching at when retrieving elements, used in combination with limit to paginate results",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "detailsLevel",
            "in": "query",
            "description": "The level of details to return: `FULL` means the full details of the object will be returned (custom field values, address, contact info, or any other related objects) and `BASIC` will return only the first level elements of the object.",
            "schema": {
              "type": "string",
              "description": "Containing allowed values for 'detailsLevel' query parameter. For instance, when fetching a branch from the system, one can specify whether he wants the result to include the full details of a branch, such as addresses, custom field values, branch holidays or not",
              "enum": [
                "BASIC",
                "FULL"
              ]
            }
          }
        ],
        "requestBody": {
          "description": "The criteria to be used to search the deposit accounts.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DepositAccountSearchCriteria"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "The deposit account search results have been returned.",
            "headers": {
              "Items-Limit": {
                "description": "Pagination details, the requested page size",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              },
              "Items-Next-Cursor": {
                "description": "The next cursor to be used by the subsequent calls",
                "style": "simple",
                "schema": {
                  "type": "string"
                }
              },
              "Items-Offset": {
                "description": "Pagination details, the index of the first returned item",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              },
              "Items-Total": {
                "description": "Pagination details, the total available items",
                "style": "simple",
                "schema": {
                  "type": "integer"
                }
              }
            },
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DepositAccount"
                  }
                }
              }
            }
          },
          "400": {
            "description": "A validation error occurred",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/vnd.mambu.v2+json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "x-permissions-allowed": {
          "allowed": [
            "VIEW_SAVINGS_ACCOUNT_DETAILS"
          ]
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AccountArrearsSettings": {
        "type": "object",
        "properties": {
          "dateCalculationMethod": {
            "type": "string",
            "description": "The arrears date calculation method.",
            "enum": [
              "ACCOUNT_FIRST_WENT_TO_ARREARS",
              "LAST_LATE_REPAYMENT",
              "ACCOUNT_FIRST_BREACHED_MATERIALITY_THRESHOLD"
            ]
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the arrears base settings, auto generated, unique.",
            "readOnly": true
          },
          "monthlyToleranceDay": {
            "type": "integer",
            "description": "Defines monthly arrears tolerance day value.",
            "format": "int32"
          },
          "nonWorkingDaysMethod": {
            "type": "string",
            "description": "Shows whether the non working days are taken in consideration or not when applying penaltees/late fees or when setting an account into arrears",
            "enum": [
              "INCLUDED",
              "EXCLUDED"
            ]
          },
          "toleranceCalculationMethod": {
            "type": "string",
            "description": "Defines the tolerance calculation method",
            "enum": [
              "ARREARS_TOLERANCE_PERIOD",
              "MONTHLY_ARREARS_TOLERANCE_DAY"
            ]
          },
          "toleranceFloorAmount": {
            "type": "number",
            "description": "The tolerance floor amount."
          },
          "tolerancePercentageOfOutstandingPrincipal": {
            "type": "number",
            "description": "Defines the arrears tolerance amount."
          },
          "tolerancePeriod": {
            "type": "integer",
            "description": "Defines the arrears tolerance period value.",
            "format": "int32"
          }
        },
        "description": "The account arrears settings, holds the required information for the arrears settings of an account."
      },
      "AccountAuthorizationHold": {
        "required": [
          "amount",
          "externalReferenceId"
        ],
        "type": "object",
        "properties": {
          "accountKey": {
            "type": "string",
            "description": "The key of the account linked with the authorization hold.",
            "readOnly": true
          },
          "advice": {
            "type": "boolean",
            "description": "Whether the given request should be accepted without balance validations."
          },
          "amount": {
            "type": "number",
            "description": "The amount of money to be held as a result of the authorization hold request."
          },
          "cardAcceptor": {
            "$ref": "#/components/schemas/CardAcceptor"
          },
          "cardToken": {
            "type": "string",
            "description": "The reference token of the card.",
            "readOnly": true
          },
          "creationDate": {
            "type": "string",
            "description": "The organization time when the authorization hold was created",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "creditDebitIndicator": {
            "type": "string",
            "description": "Indicates whether the authorization hold amount is credited or debited",
            "enum": [
              "DBIT",
              "CRDT"
            ]
          },
          "currencyCode": {
            "type": "string",
            "description": "The ISO currency code in which the hold was created. The amounts are stored in the base currency, but the user could have enter it in a foreign currency."
          },
          "exchangeRate": {
            "type": "number",
            "description": "The exchange rate for the original currency."
          },
          "externalReferenceId": {
            "type": "string",
            "description": "The external reference ID to be used to reference the account hold in subsequent requests."
          },
          "originalAmount": {
            "type": "number",
            "description": "The original amount of money to be held as a result of the authorization hold request."
          },
          "originalCurrency": {
            "type": "string",
            "description": "The original currency in which the hold was created."
          },
          "source": {
            "type": "string",
            "description": "Indicates the source of the authorization hold",
            "readOnly": true,
            "enum": [
              "CARD",
              "ACCOUNT"
            ]
          },
          "status": {
            "type": "string",
            "description": "The enumeration containing the statuses of an authorization hold.",
            "readOnly": true,
            "enum": [
              "PENDING",
              "REVERSED",
              "SETTLED",
              "EXPIRED"
            ]
          },
          "userTransactionTime": {
            "type": "string",
            "description": "The formatted time at which the user made this authorization hold."
          }
        },
        "description": "The account authorization hold corresponding to a deposit account"
      },
      "AccountDetails": {
        "type": "object",
        "properties": {
          "currency": {
            "type": "string",
            "description": "The currency of the account"
          },
          "identification": {
            "$ref": "#/components/schemas/AccountIdentification"
          }
        },
        "description": "The account currency and identification"
      },
      "AccountIdentification": {
        "type": "object",
        "properties": {
          "iban": {
            "type": "string",
            "description": "The account unique identifier"
          },
          "other": {
            "$ref": "#/components/schemas/OtherAccountIdentification"
          }
        },
        "description": "The account identification details"
      },
      "AccountInterestRateSettings": {
        "required": [
          "interestRateSource",
          "validFrom"
        ],
        "type": "object",
        "properties": {
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the interest rate settings, auto generated, unique",
            "readOnly": true
          },
          "indexSourceKey": {
            "type": "string",
            "description": "Index rate source key."
          },
          "interestRate": {
            "type": "number",
            "description": "Interest rate value."
          },
          "interestRateCeilingValue": {
            "type": "number",
            "description": "Maximum value allowed for index based interest rate. Valid only for index interest rate."
          },
          "interestRateFloorValue": {
            "type": "number",
            "description": "Minimum value allowed for index based interest rate. Valid only for index interest rate."
          },
          "interestRateReviewCount": {
            "type": "integer",
            "description": "Interest rate review frequency unit count. Valid only for index interest rate.",
            "format": "int32"
          },
          "interestRateReviewUnit": {
            "type": "string",
            "description": "The interest rate review unit values. Shows how often is index interest rate reviewed.",
            "enum": [
              "DAYS",
              "WEEKS",
              "MONTHS"
            ]
          },
          "interestRateSource": {
            "type": "string",
            "description": "The interest rate review unit values. Shows how often is index interest rate reviewed.",
            "enum": [
              "FIXED_INTEREST_RATE",
              "INDEX_INTEREST_RATE"
            ]
          },
          "interestSpread": {
            "type": "number",
            "description": "Interest spread value."
          },
          "validFrom": {
            "type": "string",
            "description": "Date since an interest rate is valid",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          }
        },
        "description": "Adjustable interest rates settings for loan account"
      },
      "AccountTax": {
        "type": "object",
        "properties": {
          "creationDate": {
            "type": "string",
            "description": "The date when the rate availability was created.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "fromDate": {
            "type": "string",
            "description": "The date when the tax source starts to be used by the account.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The last date when the rate availability was modified.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "rateSourceEncodedKey": {
            "type": "string"
          },
          "rateSourceId": {
            "type": "string",
            "description": "The id of the source"
          },
          "rateSourceName": {
            "type": "string",
            "description": "The name of the source"
          },
          "savingsAccountEncodedKey": {
            "type": "string"
          },
          "toDate": {
            "type": "string",
            "description": "The ending date of the tax source used by the account",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          }
        },
        "description": "The account tax corresponding for deposit account"
      },
      "Agent": {
        "type": "object",
        "properties": {
          "financialInstitutionIdentification": {
            "$ref": "#/components/schemas/FinancialInstitutionIdentification"
          }
        },
        "description": "The agent details for a party"
      },
      "Amount": {
        "type": "object",
        "properties": {
          "due": {
            "type": "number",
            "description": "The due amount."
          },
          "expected": {
            "type": "number",
            "description": "The expected amount, which is sum of paid and due amounts."
          },
          "paid": {
            "type": "number",
            "description": "The paid amount."
          }
        },
        "description": "Represents a simple installment amount structure."
      },
      "AmountWithReduced": {
        "type": "object",
        "properties": {
          "due": {
            "type": "number",
            "description": "The due amount."
          },
          "expected": {
            "type": "number",
            "description": "The expected amount, which is sum of paid and due amounts."
          },
          "paid": {
            "type": "number",
            "description": "The paid amount."
          },
          "reduced": {
            "type": "number",
            "description": "The reduced amount."
          }
        },
        "description": "Represents a simple installment amount structure."
      },
      "ApplyInterestInput": {
        "required": [
          "interestApplicationDate"
        ],
        "type": "object",
        "properties": {
          "interestApplicationDate": {
            "type": "string",
            "description": "The date up to which interest is to be posted",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "isInterestFromArrears": {
            "type": "boolean",
            "description": "Whether the interest amount to apply should be the regular one or interest from arrears. If nothing specified it will be the regular one."
          },
          "isPaymentHolidaysInterest": {
            "type": "boolean",
            "description": "Whether the interest amount to apply should be the regular one or the one accrued during the Payment Holidays. If nothing specified it will be the regular one."
          },
          "notes": {
            "type": "string",
            "description": "Additional information for this action"
          },
          "paymentHolidaysInterestAmount": {
            "type": "number",
            "description": "The amount of the Payment Holidays interest to apply"
          }
        },
        "description": "Represents a request for applying the accrued interest "
      },
      "Asset": {
        "required": [
          "amount",
          "assetName"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount used by the client for the guaranty"
          },
          "assetName": {
            "type": "string",
            "description": "The name of a value the client guarantees with (populated when the guaranty type is ASSET)"
          },
          "depositAccountKey": {
            "type": "string",
            "description": "The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null."
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the security, auto generated, unique.",
            "readOnly": true
          },
          "guarantorKey": {
            "type": "string",
            "description": "The key of the client/group used as the guarantor."
          },
          "guarantorType": {
            "type": "string",
            "description": "Indicated the account holder type.",
            "enum": [
              "CLIENT",
              "GROUP"
            ]
          },
          "originalAmount": {
            "type": "number",
            "description": "The original amount used by the client for a collateral asset"
          },
          "originalCurrency": {
            "$ref": "#/components/schemas/Currency"
          }
        },
        "description": "Asset, holds information about a client asset entry."
      },
      "AtomicGroup": {
        "type": "object",
        "properties": {
          "atomicGroupId": {
            "type": "string",
            "description": "The id of the atomic group, customizable, unique"
          },
          "transactions": {
            "type": "array",
            "description": "Transactions list",
            "items": {
              "$ref": "#/components/schemas/DepositsTransaction"
            }
          }
        },
        "description": "Group of transactions to be executed atomically."
      },
      "Balances": {
        "type": "object",
        "properties": {
          "creditBalance": {
            "type": "number",
            "description": "Available credit balance on the loan account.",
            "readOnly": true
          },
          "feesBalance": {
            "type": "number",
            "description": "The fees balance. Represents the total fees expected to be paid on this account at a given moment.",
            "readOnly": true
          },
          "feesDue": {
            "type": "number",
            "description": "The fees due. Representing the total fees due for the account.",
            "readOnly": true
          },
          "feesPaid": {
            "type": "number",
            "description": "The fees paid. Represents the total fees paid for the account.",
            "readOnly": true
          },
          "holdBalance": {
            "type": "number",
            "description": "The sum of all the authorization hold amounts on this account.",
            "readOnly": true
          },
          "interestBalance": {
            "type": "number",
            "description": "Represents the total interest owed by the client (total interest applied for account minus interest paid).",
            "readOnly": true
          },
          "interestDue": {
            "type": "number",
            "description": "The interest due. Indicates how much interest it's due for the account at this moment.",
            "readOnly": true
          },
          "interestFromArrearsBalance": {
            "type": "number",
            "description": "The interest from arrears balance. Indicates interest from arrears owned by the client, from now on. (total interest from arrears accrued for account - interest from arrears paid).",
            "readOnly": true
          },
          "interestFromArrearsDue": {
            "type": "number",
            "description": "The interest from arrears due. Indicates how much interest from arrears it's due for the account at this moment.",
            "readOnly": true
          },
          "interestFromArrearsPaid": {
            "type": "number",
            "description": "The interest from arrears paid, indicates total interest from arrears paid into the account.",
            "readOnly": true
          },
          "interestPaid": {
            "type": "number",
            "description": "The interest paid, indicates total interest paid into the account.",
            "readOnly": true
          },
          "penaltyBalance": {
            "type": "number",
            "description": "The penalty balance. Represents the total penalty expected to be paid on this account at a given moment.",
            "readOnly": true
          },
          "penaltyDue": {
            "type": "number",
            "description": "The penalty due. Represents the total penalty amount due for the account.",
            "readOnly": true
          },
          "penaltyPaid": {
            "type": "number",
            "description": "The Penalty paid. Represents the total penalty amount paid for the account.",
            "readOnly": true
          },
          "principalBalance": {
            "type": "number",
            "description": "The total principal owned by the client, from now on (principal disbursed - principal paid).",
            "readOnly": true
          },
          "principalDue": {
            "type": "number",
            "description": "The principal due, indicates how much principal it's due at this moment.",
            "readOnly": true
          },
          "principalPaid": {
            "type": "number",
            "description": "The principal paid, holds the value of the total paid into the account.",
            "readOnly": true
          },
          "redrawBalance": {
            "type": "number",
            "description": "The total redraw amount owned by the client, from now on."
          }
        },
        "description": "The loan account balance details.",
        "readOnly": true
      },
      "BillingCycleDays": {
        "type": "object",
        "properties": {
          "days": {
            "uniqueItems": true,
            "type": "array",
            "description": "The billing cycle start days in case it is enabled",
            "items": {
              "type": "integer",
              "description": "The billing cycle start days in case it is enabled",
              "format": "int32"
            }
          }
        },
        "description": "Defines the billing cycles settings for a loan account"
      },
      "BlockFund": {
        "required": [
          "amount",
          "externalReferenceId"
        ],
        "type": "object",
        "properties": {
          "accountKey": {
            "type": "string",
            "description": "The key of the account which block fund belongs to",
            "readOnly": true
          },
          "amount": {
            "type": "number",
            "description": "The amount to be blocked"
          },
          "creationDate": {
            "type": "string",
            "description": "The date at which the block fund was created",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "externalReferenceId": {
            "type": "string",
            "description": "The external reference ID to be used to reference the block fund in subsequent requests"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The date at which the block fund was created",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "notes": {
            "type": "string",
            "description": "Notes about this block fund"
          },
          "seizedAmount": {
            "type": "number",
            "description": "The amount that has been seized",
            "readOnly": true
          },
          "state": {
            "type": "string",
            "description": "The state of the block fund",
            "readOnly": true,
            "enum": [
              "PENDING",
              "SEIZED",
              "REMOVED",
              "PARTIALLY_SEIZED"
            ]
          }
        },
        "description": "Represents the block fund amount that can be later seized on the account"
      },
      "BulkDepositAccountUpdateError": {
        "required": [
          "accountKey",
          "errorReason"
        ],
        "type": "object",
        "properties": {
          "accountKey": {
            "type": "string",
            "description": "The account key that failed to update"
          },
          "errorCode": {
            "type": "integer",
            "description": "The error code.",
            "format": "int32"
          },
          "errorReason": {
            "type": "string",
            "description": "The error reason"
          },
          "errorSource": {
            "type": "string",
            "description": "Additional details about the error"
          }
        },
        "description": "Represents an error for a failed deposit account update in a bulk operation."
      },
      "BulkDepositAccountUpdateRequest": {
        "required": [
          "accounts"
        ],
        "type": "object",
        "properties": {
          "accounts": {
            "maxItems": 1000,
            "minItems": 1,
            "type": "array",
            "description": "The list of deposit accounts to update. Each account must have an id or encodedKey.",
            "items": {
              "$ref": "#/components/schemas/DepositAccount"
            }
          }
        },
        "description": "Represents the request payload for bulk deposit account updates."
      },
      "BulkDepositAccountUpdateResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "description": "List of errors for accounts that failed to update. Empty if all updates were successful.",
            "items": {
              "$ref": "#/components/schemas/BulkDepositAccountUpdateError"
            }
          }
        },
        "description": "Represents the response for bulk deposit account updates."
      },
      "BulkInterestAccountSettingsAvailabilityFilter": {
        "type": "object",
        "properties": {
          "ids": {
            "type": "array",
            "description": "Ids of accounts that should be processed",
            "items": {
              "type": "string",
              "description": "Ids of accounts that should be processed"
            }
          },
          "productId": {
            "type": "string",
            "description": "Product id to be used for selecting all accounts that should be processed"
          }
        },
        "description": "Represents the filter to be used for selecting the accounts to which new interest availability settings will be pushed. One of the 2 fields: productId or ids should be supplied "
      },
      "BulkInterestAccountSettingsAvailabilityInput": {
        "required": [
          "accountFilter",
          "interestAvailability"
        ],
        "type": "object",
        "properties": {
          "accountFilter": {
            "$ref": "#/components/schemas/BulkInterestAccountSettingsAvailabilityFilter"
          },
          "interestAvailability": {
            "$ref": "#/components/schemas/InterestAccountSettingsAvailability"
          }
        },
        "description": "Represents the bulk payload for storing interest availabilities to a group of accounts"
      },
      "Card": {
        "required": [
          "referenceToken"
        ],
        "type": "object",
        "properties": {
          "referenceToken": {
            "type": "string",
            "description": "The card's reference token."
          }
        },
        "description": "Returns a card that can be associated to a deposit or loan  account. Cards consist only of card reference tokens and the card details are not stored in Mambu."
      },
      "CardAcceptor": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "description": "The city in which the card acceptor has the business."
          },
          "country": {
            "type": "string",
            "description": "The country in which the card acceptor has the business."
          },
          "mcc": {
            "type": "integer",
            "description": "The Merchant Category Code of the card acceptor.",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of the card acceptor."
          },
          "state": {
            "type": "string",
            "description": "The state in which the card acceptor has the business."
          },
          "street": {
            "type": "string",
            "description": "The street in which the card acceptor has the business."
          },
          "zip": {
            "type": "string",
            "description": "The ZIP code of the location in which the card acceptor has the business."
          }
        },
        "description": "The details of the card acceptor (merchant) in a transaction hold."
      },
      "CarryForwardInterestSplit": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The carry forward interest amount."
          },
          "tax": {
            "type": "number",
            "description": "The taxes amount on the carry forward interest."
          }
        },
        "description": "Represents carry forward interest split"
      },
      "ChangeInterestRateAction": {
        "required": [
          "interestRate",
          "valueDate"
        ],
        "type": "object",
        "properties": {
          "interestRate": {
            "type": "number",
            "description": "The new interest rate to set on the account."
          },
          "notes": {
            "type": "string",
            "description": "The notes or description attached to this object."
          },
          "valueDate": {
            "type": "string",
            "description": "The date when the interest rate is changed.",
            "format": "date",
            "example": "1987-04-26"
          }
        },
        "description": "Change deposit account interest rate"
      },
      "ChangeWithholdingTaxAction": {
        "required": [
          "withholdingTaxSourceKey"
        ],
        "type": "object",
        "properties": {
          "withholdingTaxSourceKey": {
            "type": "string",
            "description": "The ID or encoded key of the new withholding tax to use for the account."
          }
        },
        "description": "Change deposit account withholding tax rate"
      },
      "CreditorReferenceInformation": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "description": "The reference information of the creditor's underlying documents"
          },
          "referenceIssuer": {
            "type": "string",
            "description": "The entity that assigns the reference type"
          },
          "referenceType": {
            "type": "string",
            "description": "The type of creditor reference"
          }
        },
        "description": "Represents the reference to the underlying documents of the payment."
      },
      "Currency": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Fiat(ISO-4217) currency code or NON_FIAT for non fiat currencies.",
            "enum": [
              "AED",
              "AFN",
              "ALL",
              "AMD",
              "ANG",
              "AOA",
              "ARS",
              "AUD",
              "AWG",
              "AZN",
              "BAM",
              "BBD",
              "BDT",
              "BGN",
              "BHD",
              "BIF",
              "BMD",
              "BND",
              "BOB",
              "BOV",
              "BRL",
              "BSD",
              "BTN",
              "BWP",
              "BYR",
              "BYN",
              "BZD",
              "CAD",
              "CDF",
              "CHE",
              "CHF",
              "CHW",
              "CLF",
              "CLP",
              "CNY",
              "COP",
              "COU",
              "CRC",
              "CUC",
              "CUP",
              "CVE",
              "CZK",
              "DJF",
              "DKK",
              "DOP",
              "DZD",
              "EGP",
              "ERN",
              "ETB",
              "EUR",
              "FJD",
              "FKP",
              "GBP",
              "GEL",
              "GHS",
              "GIP",
              "GMD",
              "GNF",
              "GTQ",
              "GYD",
              "HKD",
              "HNL",
              "HRK",
              "HTG",
              "HUF",
              "IDR",
              "ILS",
              "INR",
              "IQD",
              "IRR",
              "ISK",
              "JMD",
              "JOD",
              "JPY",
              "KES",
              "KGS",
              "KHR",
              "KMF",
              "KPW",
              "KRW",
              "KWD",
              "KYD",
              "KZT",
              "LAK",
              "LBP",
              "LKR",
              "LRD",
              "LSL",
              "LTL",
              "LVL",
              "LYD",
              "MAD",
              "MDL",
              "MGA",
              "MKD",
              "MMK",
              "MNT",
              "MOP",
              "MRO",
              "MRU",
              "MUR",
              "MVR",
              "MWK",
              "MXN",
              "MXV",
              "MYR",
              "MZN",
              "NAD",
              "NGN",
              "NIO",
              "NOK",
              "NPR",
              "NZD",
              "OMR",
              "PAB",
              "PEN",
              "PGK",
              "PHP",
              "PKR",
              "PLN",
              "PYG",
              "QAR",
              "RON",
              "RSD",
              "RUB",
              "RWF",
              "SAR",
              "SBD",
              "SCR",
              "SDG",
              "SEK",
              "SGD",
              "SHP",
              "SLL",
              "SLE",
              "SOS",
              "SRD",
              "STD",
              "STN",
              "SVC",
              "SYP",
              "SZL",
              "THB",
              "TJS",
              "TMT",
              "TND",
              "TOP",
              "TRY",
              "TTD",
              "TWD",
              "TZS",
              "UAH",
              "UGX",
              "USD",
              "USN",
              "UYI",
              "UYU",
              "UYW",
              "UZS",
              "VED",
              "VEF",
              "VES",
              "VND",
              "VUV",
              "WST",
              "XAG",
              "XAU",
              "XAF",
              "XBA",
              "XBB",
              "XBC",
              "XBD",
              "XCD",
              "XCG",
              "XDR",
              "XOF",
              "XPD",
              "XPF",
              "XPT",
              "XSU",
              "XTS",
              "XUA",
              "XXX",
              "YER",
              "ZAR",
              "ZIG",
              "ZWG",
              "ZMK",
              "ZWL",
              "ZMW",
              "SSP",
              "NON_FIAT"
            ]
          },
          "currencyCode": {
            "type": "string",
            "description": "Currency code for NON_FIAT currency."
          }
        },
        "description": "Represents a currency eg. USD, EUR."
      },
      "CustomPredefinedFee": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount of the custom fee."
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the custom predefined fee, auto generated, unique.",
            "readOnly": true
          },
          "percentage": {
            "type": "number",
            "description": "The percentage of the custom fee."
          },
          "predefinedFeeEncodedKey": {
            "type": "string",
            "description": "The encoded key of the predefined fee"
          }
        },
        "description": "The custom predefined fees, they may be used as the expected predefined fees that will be applied on the disbursement."
      },
      "CustomSettingDetails": {
        "type": "object",
        "properties": {
          "loanTransactionKey": {
            "type": "string",
            "description": "The loan transaction associated with the custom setting."
          },
          "source": {
            "type": "string",
            "description": "The source of the custom setting"
          },
          "type": {
            "type": "string",
            "description": "The type of custom setting."
          }
        },
        "description": "Represents the custom settings for a loan schedule."
      },
      "DepositAccount": {
        "required": [
          "accountHolderKey",
          "accountHolderType",
          "name",
          "productTypeKey"
        ],
        "type": "object",
        "properties": {
          "accountHolderKey": {
            "type": "string",
            "description": "The encoded key of the account holder, which is an individual client or group."
          },
          "accountHolderType": {
            "type": "string",
            "description": "Indicated the account holder type.",
            "enum": [
              "CLIENT",
              "GROUP"
            ]
          },
          "accountState": {
            "type": "string",
            "description": "The state of the deposit account.",
            "readOnly": true,
            "enum": [
              "PENDING_APPROVAL",
              "APPROVED",
              "ACTIVE",
              "ACTIVE_IN_ARREARS",
              "MATURED",
              "LOCKED",
              "DORMANT",
              "CLOSED",
              "CLOSED_WRITTEN_OFF",
              "WITHDRAWN",
              "CLOSED_REJECTED"
            ]
          },
          "accountType": {
            "type": "string",
            "description": "The deposit account type and the product that it belongs to.",
            "enum": [
              "CURRENT_ACCOUNT",
              "REGULAR_SAVINGS",
              "FIXED_DEPOSIT",
              "SAVINGS_PLAN",
              "INVESTOR_ACCOUNT"
            ]
          },
          "accruedAmounts": {
            "$ref": "#/components/schemas/DepositAccountAccruedAmounts"
          },
          "activationDate": {
            "type": "string",
            "description": "The date when the deposit account was activated, in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "approvedDate": {
            "type": "string",
            "description": "The date when the deposit account was approved, in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "assignedBranchKey": {
            "type": "string",
            "description": "The key of the branch that this deposit account is assigned to."
          },
          "assignedCentreKey": {
            "type": "string",
            "description": "The key of the centre that this account is assigned to."
          },
          "assignedUserKey": {
            "type": "string",
            "description": "The key of the user that this deposit is assigned to."
          },
          "balances": {
            "$ref": "#/components/schemas/DepositAccountBalances"
          },
          "closedDate": {
            "type": "string",
            "description": "The date when the deposit account was closed, in UTC.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "courtesyPaySettings": {
            "$ref": "#/components/schemas/DepositAccountCourtesyPaySettings"
          },
          "creationDate": {
            "type": "string",
            "description": "The date this deposit account was created, in UTC.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "creditArrangementKey": {
            "type": "string",
            "description": "The key to the credit arrangement where this account is registered."
          },
          "currencyCode": {
            "type": "string",
            "description": "The currency code."
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the deposit account, which is auto-generated and unique.",
            "readOnly": true
          },
          "id": {
            "type": "string",
            "description": "The ID of the deposit account, which can be generated and customized - but must be unique."
          },
          "interestSettings": {
            "$ref": "#/components/schemas/DepositAccountInterestSettings"
          },
          "internalControls": {
            "$ref": "#/components/schemas/DepositAccountInternalControls"
          },
          "lastAccountAppraisalDate": {
            "type": "string",
            "description": "The date when the account was last evaluated for interest calculations and maturity, in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastInterestCalculationDate": {
            "type": "string",
            "description": "The date when interest was last calculated for the account, in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastInterestReviewDate": {
            "type": "string",
            "description": "The date when regular interest was last reviewed, in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastInterestStoredDate": {
            "type": "string",
            "description": "The date when interest was last applied on the account, in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The last update date for the deposit account, in UTC.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastOverdraftInterestReviewDate": {
            "type": "string",
            "description": "The date when the overdraft interest was last reviewed, in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastSetToArrearsDate": {
            "type": "string",
            "description": "The date when the deposit account was set to In Arrears, or null if the account is not In Arrears. The date is in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "linkedSettlementAccountKeys": {
            "type": "array",
            "description": "Lists all loan account keys on which the deposit account is used as the settlement account.",
            "readOnly": true,
            "items": {
              "type": "string",
              "description": "Lists all loan account keys on which the deposit account is used as the settlement account.",
              "readOnly": true
            }
          },
          "lockedDate": {
            "type": "string",
            "description": "The date when the deposit account was locked, in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "maturityDate": {
            "type": "string",
            "description": "The date when the account matures, for fixed or compulsory savings plans, in the organization's timezone and time format.",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "migrationEventKey": {
            "type": "string",
            "description": "The migration event encoded key associated with this deposit account. If this account was imported, you can track which migration event it came from.",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "The deposit account name."
          },
          "notes": {
            "type": "string",
            "description": "The notes or description attached to this object."
          },
          "overdraftInterestSettings": {
            "$ref": "#/components/schemas/DepositAccountOverdraftInterestSettings"
          },
          "overdraftSettings": {
            "$ref": "#/components/schemas/DepositAccountOverdraftSettings"
          },
          "ownershipHistory": {
            "type": "array",
            "description": "The history of deposit account ownership",
            "readOnly": true,
            "items": {
              "$ref": "#/components/schemas/DepositAccountOwnershipHistory"
            }
          },
          "productTypeKey": {
            "type": "string",
            "description": "The key to the product type that this account is based on."
          },
          "withholdingTaxSourceKey": {
            "type": "string",
            "description": "The tax source where the account withholding taxes will be updated."
          }
        },
        "description": "Represents information about a deposit account."
      },
      "DepositAccountAccruedAmounts": {
        "type": "object",
        "properties": {
          "interestAccrued": {
            "type": "number",
            "description": "The amount of positive interest that has been accrued in the account.",
            "readOnly": true
          },
          "negativeInterestAccrued": {
            "type": "number",
            "description": "The amount of negative interest that has been accrued in the account.",
            "readOnly": true
          },
          "overdraftInterestAccrued": {
            "type": "number",
            "description": "The amount of overdraft interest that has been accrued in the account.",
            "readOnly": true
          },
          "technicalOverdraftInterestAccrued": {
            "type": "number",
            "description": "The amount of technical overdraft interest that has been accrued in the account.",
            "readOnly": true
          }
        },
        "description": "Represents information about the accrued amounts of deposit accounts."
      },
      "DepositAccountAction": {
        "required": [
          "action"
        ],
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "The action type to be applied.",
            "enum": [
              "APPROVE",
              "UNDO_APPROVE",
              "LOCK",
              "UNLOCK",
              "CLOSE",
              "CLOSE_WITHDRAW",
              "CLOSE_REJECT",
              "CLOSE_WRITE_OFF"
            ]
          },
          "notes": {
            "type": "string",
            "description": "The notes related to the action performed."
          }
        },
        "description": "Represents the action details for a deposit account."
      },
      "DepositAccountBalances": {
        "type": "object",
        "properties": {
          "availableBalance": {
            "type": "number",
            "description": "The current available balance for deposit transactions.",
            "readOnly": true
          },
          "blockedBalance": {
            "type": "number",
            "description": "The sum of all the blocked amounts on an account.",
            "readOnly": true
          },
          "feesDue": {
            "type": "number",
            "description": "The amount of fees due to be paid on this account.",
            "readOnly": true
          },
          "forwardAvailableBalance": {
            "type": "number",
            "description": "The sum of all the authorization hold amounts that have `CRDT` as the `creditDebitIndicator` for an account.",
            "readOnly": true
          },
          "holdBalance": {
            "type": "number",
            "description": "The sum of all the authorization hold amounts that have `DBIT` as the `creditDebitIndicator` for an account.",
            "readOnly": true
          },
          "lockedBalance": {
            "type": "number",
            "description": "The locked amount that is not available for withdrawal in the account. For more information, see [Deposit Account Overview Details](https://docs.mambu.com/docs/deposit-account-overview-details/).",
            "readOnly": true
          },
          "overdraftAmount": {
            "type": "number",
            "description": "The overdraft amount that has been taken out in the account. For more information, see [Overdraft Products](https://docs.mambu.com/docs/overdraft-products).",
            "readOnly": true
          },
          "overdraftInterestDue": {
            "type": "number",
            "description": "The amount of interest due to be paid on an account as a result of an authorized overdraft.",
            "readOnly": true
          },
          "technicalOverdraftAmount": {
            "type": "number",
            "description": "The technical overdraft amount that has been taken out in the account. For more information, see [Technical Overdraft](https://docs.mambu.com/docs/overdraft-products/#technical-overdraft).",
            "readOnly": true
          },
          "technicalOverdraftInterestDue": {
            "type": "number",
            "description": "The amount of interest due to be paid on an account as a result of a technical overdraft.",
            "readOnly": true
          },
          "totalBalance": {
            "type": "number",
            "description": "The current balance of the account.",
            "readOnly": true
          }
        },
        "description": "Represents information about the balances of a deposit account."
      },
      "DepositAccountCourtesyPaySettings": {
        "type": "object",
        "properties": {
          "allowCourtesyPay": {
            "type": "boolean",
            "description": "`TRUE` if this account supports courtesy, `FALSE` otherwise."
          },
          "courtesyPayLimit": {
            "type": "number",
            "description": "The maximum amount that may be covered under courtesyPay. Always display even if courtesyPay is disabled."
          }
        },
        "description": "Represents information about a deposit account's courtesy settings."
      },
      "DepositAccountFilterCriteria": {
        "required": [
          "field",
          "operator"
        ],
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "description": "The fields to search, which can be enumerated values or custom fields using the format [customFieldSetId].[customFieldId].\n",
            "enum": [
              "encodedKey",
              "id",
              "name",
              "accountHolderKey",
              "clientId",
              "groupId",
              "accountHolderName",
              "accountState",
              "accountType",
              "creationDate",
              "activationDate",
              "approvedDate",
              "lastModifiedDate",
              "maturityDate",
              "lastSetToArrearsDate",
              "closedDate",
              "accruedAmounts.interestAccrued",
              "accruedAmounts.overdraftInterestAccrued",
              "accruedAmounts.technicalOverdraftInterestAccrued",
              "maxBalance",
              "balances.availableBalance",
              "balances.blockedBalance",
              "balances.feesDue",
              "balances.lockedBalance",
              "balances.overdraftAmount",
              "balances.overdraftInterestDue",
              "balances.technicalOverdraftAmount",
              "balances.totalBalance",
              "balances.holdBalance",
              "assignedBranchKey",
              "assignedCentreKey",
              "assignedUserKey",
              "currencyCode",
              "interestSettings.interestRate",
              "currentInterestTier.endingBalance",
              "currentInterestTier.index",
              "currentInterestTier.interestRate",
              "currentInterestTier.startingBalance",
              "internalControls.maxWithdrawalAmount",
              "internalControls.recommendedDepositAmount",
              "internalControls.targetAmount",
              "lengthInDays",
              "overdraftRiskLevelKey",
              "overdraftAvailableLimit",
              "overdraftDaysInArrears",
              "overdraftInArrears",
              "overdraftInterestSettings.interestRateSettings.interestRate",
              "overdraftInterestSettings.interestRateSettings.interestSpread",
              "currentOverdraftInterestTier.endingBalance",
              "currentOverdraftInterestTier.index",
              "currentOverdraftInterestTier.interestRate",
              "currentOverdraftInterestTier.startingBalance",
              "overdraftSettings.overdraftExpiryDate",
              "overdraftSettings.overdraftLimit",
              "overdraftSettings.allowOverdraft",
              "productTypeKey",
              "productCategory",
              "taxApplied",
              "withholdingTaxSourceKey",
              "taxRate"
            ]
          },
          "operator": {
            "type": "string",
            "description": "| **Operator**                | **Affected values**  | **Available for**                                                    |\n|---------------               |----------------------|----------------------------------------------------------------------|\n| EQUALS                       | ONE_VALUE            | BIG_DECIMAL,BOOLEAN,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY        |\n| EQUALS_CASE_SENSITIVE        | ONE_VALUE            | BIG_DECIMAL,BOOLEAN,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY \t\t  |\n| MORE_THAN                    | ONE_VALUE            | BIG_DECIMAL,NUMBER,MONEY                                             |\n| LESS_THAN                    | ONE_VALUE            | BIG_DECIMAL,NUMBER,MONEY                                             |\n| BETWEEN                      | TWO_VALUES           | BIG_DECIMAL,NUMBER,MONEY,DATE,DATE_TIME                              |\n| ON                           | ONE_VALUE            | DATE,DATE_TIME                                                       |\n| AFTER                        | ONE_VALUE            | DATE,DATE_TIME                                                       |\n| BEFORE                       | ONE_VALUE            | DATE,DATE_TIME                                                       |\n| BEFORE_INCLUSIVE             | ONE_VALUE            | DATE,DATE_TIME                                                       |\n| STARTS_WITH                  | ONE_VALUE            | STRING                                                               |\n| STARTS_WITH_CASE_SENSITIVE   | ONE_VALUE            | STRING                                                               |\n| IN                           | LIST                 | ENUM,KEY                                                             |\n| TODAY                        | NO_VALUE             | DATE,DATE_TIME                                                       |\n| THIS_WEEK                    | NO_VALUE             | DATE,DATE_TIME                                                       |\n| THIS_MONTH                   | NO_VALUE             | DATE,DATE_TIME                                                       |\n| THIS_YEAR                    | NO_VALUE             | DATE,DATE_TIME                                                       |\n| LAST_DAYS                    | ONE_VALUE            | NUMBER                                                               |\n| EMPTY                        | NO_VALUE             | BIG_DECIMAL,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY,DATE,DATE_TIME |\n| NOT_EMPTY                    | NO_VALUE             | BIG_DECIMAL,LONG,MONEY,NUMBER,PERCENT,STRING,ENUM,KEY,DATE,DATE_TIME |",
            "enum": [
              "EQUALS",
              "EQUALS_CASE_SENSITIVE",
              "DIFFERENT_THAN",
              "MORE_THAN",
              "LESS_THAN",
              "BETWEEN",
              "ON",
              "AFTER",
              "AFTER_INCLUSIVE",
              "BEFORE",
              "BEFORE_INCLUSIVE",
              "STARTS_WITH",
              "STARTS_WITH_CASE_SENSITIVE",
              "IN",
              "TODAY",
              "THIS_WEEK",
              "THIS_MONTH",
              "THIS_YEAR",
              "LAST_DAYS",
              "EMPTY",
              "NOT_EMPTY"
            ]
          },
          "secondValue": {
            "type": "string",
            "description": "The second value to match the searching criteria, when the `BETWEEN` operator is used."
          },
          "value": {
            "type": "string",
            "description": "The value to match the searching criteria."
          },
          "values": {
            "type": "array",
            "description": "List of values when the `IN` operator is used.",
            "items": {
              "type": "string",
              "description": "List of values when the `IN` operator is used."
            }
          }
        },
        "description": "Represents the filter list used for searching deposit accounts."
      },
      "DepositAccountInterestAvailabilitySettings": {
        "type": "object",
        "properties": {
          "interestRate": {
            "type": "number",
            "description": "The interest rate for the deposit account"
          },
          "interestRateTiers": {
            "type": "array",
            "description": "The list of interest rate tiers. An interest rate tier holds the values to define how the interest is computed",
            "items": {
              "$ref": "#/components/schemas/DepositAccountInterestRateTier"
            }
          },
          "interestSpread": {
            "type": "number",
            "description": "The rate based on which the interest is accrued and applied for accounts with InterestRateSource#INDEX_INTEREST_RATE"
          }
        },
        "description": "Interest Rate Settings for Deposit Account Interest Availability"
      },
      "DepositAccountInterestPaymentSettings": {
        "type": "object",
        "properties": {
          "interestPaymentDates": {
            "type": "array",
            "description": "The list of all dates when the interest is paid into the deposit account.",
            "items": {
              "$ref": "#/components/schemas/MonthAndDay"
            }
          },
          "interestPaymentPoint": {
            "type": "string",
            "description": "The interest payment point, which specifies when the interest should be paid to the account.",
            "enum": [
              "FIRST_DAY_OF_MONTH",
              "EVERY_WEEK",
              "EVERY_OTHER_WEEK",
              "EVERY_MONTH",
              "EVERY_3_MONTHS",
              "ON_FIXED_DATES",
              "DAILY",
              "ANNUALLY",
              "BI_ANNUALLY",
              "ON_ACCOUNT_MATURITY"
            ]
          }
        },
        "description": "Represents information about the interest payment settings."
      },
      "DepositAccountInterestRateSettings": {
        "type": "object",
        "properties": {
          "encodedKey": {
            "type": "string",
            "description": "The encoded key for the set of interest settings, which is auto-generated and unique.",
            "readOnly": true
          },
          "interestChargeFrequency": {
            "type": "string",
            "description": "The interest change frequency method for a loan account. Shows the possible methods for obtaining the balance based on which the interest will be calculated for loan repayment.",
            "enum": [
              "ANNUALIZED",
              "EVERY_MONTH",
              "EVERY_FOUR_WEEKS",
              "EVERY_WEEK",
              "EVERY_DAY",
              "EVERY_X_DAYS"
            ]
          },
          "interestChargeFrequencyCount": {
            "type": "integer",
            "description": "The number of times to apply interest in a time period.",
            "format": "int32"
          },
          "interestRate": {
            "type": "number",
            "description": "The interest rate for the deposit account."
          },
          "interestRateReviewCount": {
            "type": "integer",
            "description": "The number of times to review the interest rate in a time period.",
            "format": "int32"
          },
          "interestRateReviewUnit": {
            "type": "string",
            "description": "The interest rate review unit values. Shows how often is index interest rate reviewed.",
            "enum": [
              "DAYS",
              "WEEKS",
              "MONTHS"
            ]
          },
          "interestRateSource": {
            "type": "string",
            "description": "The interest rate review unit values. Shows how often is index interest rate reviewed.",
            "readOnly": true,
            "enum": [
              "FIXED_INTEREST_RATE",
              "INDEX_INTEREST_RATE"
            ]
          },
          "interestRateTerms": {
            "type": "string",
            "description": "The terms for how interest rate is determined when accruing for an account.",
            "enum": [
              "FIXED",
              "TIERED",
              "TIERED_PERIOD",
              "TIERED_BAND"
            ]
          },
          "interestRateTiers": {
            "type": "array",
            "description": "The list of interest rate tiers, which hold the values to define how interest is calculated.",
            "items": {
              "$ref": "#/components/schemas/DepositAccountInterestRateTier"
            }
          },
          "interestSpread": {
            "type": "number",
            "description": "The index interest rate that is used to calculate the interest rate that is applied to accounts."
          }
        },
        "description": "Represents information about the interest rate settings for deposit accounts."
      },
      "DepositAccountInterestRateTier": {
        "required": [
          "interestRate"
        ],
        "type": "object",
        "properties": {
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the interest rate tier, auto generated, unique",
            "readOnly": true
          },
          "endingBalance": {
            "type": "number",
            "description": "The top-limit value for the account balance in order to determine if this tier is used or not"
          },
          "endingDay": {
            "type": "integer",
            "format": "int32"
          },
          "interestRate": {
            "type": "number",
            "description": "The rate used for computing the interest for an account which has the balance less than the ending balance"
          }
        },
        "description": "Represents information about how interest rate is calculated."
      },
      "DepositAccountInterestSettings": {
        "type": "object",
        "properties": {
          "interestPaymentSettings": {
            "$ref": "#/components/schemas/DepositAccountInterestPaymentSettings"
          },
          "interestRateSettings": {
            "$ref": "#/components/schemas/DepositAccountInterestRateSettings"
          }
        },
        "description": "Represents information about the deposit account's interest settings."
      },
      "DepositAccountInternalControls": {
        "type": "object",
        "properties": {
          "maxDepositBalance": {
            "type": "number",
            "description": "The maximum deposit balance of the account."
          },
          "maxWithdrawalAmount": {
            "type": "number",
            "description": "The maximum amount allowed for a withdrawal."
          },
          "recommendedDepositAmount": {
            "type": "number",
            "description": "The recommended amount for a deposit."
          },
          "targetAmount": {
            "type": "number",
            "description": "The target amount for a deposit made towards a savings goal."
          }
        },
        "description": "Represents information about internal controls."
      },
      "DepositAccountOverdraftInterestRateSettings": {
        "type": "object",
        "properties": {
          "encodedKey": {
            "type": "string",
            "description": "The encoded key for the set of interest settings, which is auto-generated and unique.",
            "readOnly": true
          },
          "interestChargeFrequency": {
            "type": "string",
            "description": "The interest change frequency method for a loan account. Shows the possible methods for obtaining the balance based on which the interest will be calculated for loan repayment.",
            "enum": [
              "ANNUALIZED",
              "EVERY_MONTH",
              "EVERY_FOUR_WEEKS",
              "EVERY_WEEK",
              "EVERY_DAY",
              "EVERY_X_DAYS"
            ]
          },
          "interestChargeFrequencyCount": {
            "type": "integer",
            "description": "The number of times to apply interest in a time period.",
            "format": "int32"
          },
          "interestRate": {
            "type": "number",
            "description": "The interest rate for the deposit account."
          },
          "interestRateReviewCount": {
            "type": "integer",
            "description": "The number of times to review the interest rate in a time period.",
            "format": "int32"
          },
          "interestRateReviewUnit": {
            "type": "string",
            "description": "The interest rate review unit values. Shows how often is index interest rate reviewed.",
            "enum": [
              "DAYS",
              "WEEKS",
              "MONTHS"
            ]
          },
          "interestRateSource": {
            "type": "string",
            "description": "The interest rate review unit values. Shows how often is index interest rate reviewed.",
            "readOnly": true,
            "enum": [
              "FIXED_INTEREST_RATE",
              "INDEX_INTEREST_RATE"
            ]
          },
          "interestRateTerms": {
            "type": "string",
            "description": "The terms for how interest rate is determined when accruing for an account.",
            "enum": [
              "FIXED",
              "TIERED",
              "TIERED_PERIOD",
              "TIERED_BAND"
            ]
          },
          "interestRateTiers": {
            "type": "array",
            "description": "The list of interest rate tiers, which hold the values to define how interest is calculated.",
            "items": {
              "$ref": "#/components/schemas/DepositAccountInterestRateTier"
            }
          },
          "interestSpread": {
            "type": "number",
            "description": "The index interest rate that is used to calculate the interest rate that is applied to accounts."
          }
        },
        "description": "Represents information about overdraft interest rate settings for deposit accounts."
      },
      "DepositAccountOverdraftInterestSettings": {
        "type": "object",
        "properties": {
          "interestRateSettings": {
            "$ref": "#/components/schemas/DepositAccountOverdraftInterestRateSettings"
          }
        },
        "description": "Represents information about a deposit account's overdraft interest settings."
      },
      "DepositAccountOverdraftSettings": {
        "type": "object",
        "properties": {
          "allowOverdraft": {
            "type": "boolean",
            "description": "`TRUE` if this account supports overdraft, `FALSE` otherwise."
          },
          "overdraftExpiryDate": {
            "type": "string",
            "description": "The expiration date of an overdraft.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "overdraftLimit": {
            "type": "number",
            "description": "The limit amount that may be taken out as overdraft, where null means 0."
          }
        },
        "description": "Represents information about a deposit account's overdraft settings."
      },
      "DepositAccountOwnershipHistory": {
        "type": "object",
        "properties": {
          "previousOwnerKey": {
            "type": "string",
            "description": "They key of the previous account holder",
            "readOnly": true
          },
          "transferDate": {
            "type": "string",
            "description": "The transfer date of the account ownership",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          }
        },
        "description": "The history of deposit account ownership",
        "readOnly": true
      },
      "DepositAccountSearchCriteria": {
        "type": "object",
        "properties": {
          "filterCriteria": {
            "type": "array",
            "description": "The list of filtering criteria.",
            "items": {
              "$ref": "#/components/schemas/DepositAccountFilterCriteria"
            }
          },
          "sortingCriteria": {
            "$ref": "#/components/schemas/DepositAccountSortingCriteria"
          }
        },
        "description": "Represents the filtering criteria list and the sorting criteria for searching deposit accounts."
      },
      "DepositAccountSortingCriteria": {
        "required": [
          "field"
        ],
        "type": "object",
        "properties": {
          "field": {
            "type": "string",
            "description": "The field used as sorting selection"
          },
          "order": {
            "type": "string",
            "description": "The sorting order: `ASC` or `DESC`. The default order is `DESC`.",
            "enum": [
              "ASC",
              "DESC"
            ]
          }
        },
        "description": "The sorting criteria used for searching deposit accounts."
      },
      "DepositAuthorizationHold": {
        "required": [
          "amount",
          "externalReferenceId"
        ],
        "type": "object",
        "properties": {
          "accountKey": {
            "type": "string",
            "description": "The key of the account linked with the authorization hold.",
            "readOnly": true
          },
          "advice": {
            "type": "boolean",
            "description": "Whether the given request should be accepted without balance validations."
          },
          "amount": {
            "type": "number",
            "description": "The amount of money to be held as a result of the authorization hold request."
          },
          "cardAcceptor": {
            "$ref": "#/components/schemas/CardAcceptor"
          },
          "cardToken": {
            "type": "string",
            "description": "The reference token of the card.",
            "readOnly": true
          },
          "creationDate": {
            "type": "string",
            "description": "The organization time when the authorization hold was created",
            "format": "date-time",
            "readOnly": true,
            "example": "2016-09-06T13:37:50+03:00"
          },
          "creditDebitIndicator": {
            "type": "string",
            "description": "Indicates whether the authorization hold amount is credited or debited",
            "enum": [
              "DBIT",
              "CRDT"
            ]
          },
          "currencyCode": {
            "type": "string",
            "description": "The ISO currency code in which the hold was created. The amounts are stored in the base currency, but the user could have enter it in a foreign currency."
          },
          "encodedKey": {
            "type": "string",
            "description": "The internal ID of the authorization hold, auto generated, unique.",
            "readOnly": true
          },
          "exchangeRate": {
            "type": "number",
            "description": "The exchange rate for the original currency."
          },
          "externalReferenceId": {
            "type": "string",
            "description": "The external reference ID to be used to reference the account hold in subsequent requests."
          },
          "originalAmount": {
            "type": "number",
            "description": "The original amount of money to be held as a result of the authorization hold request."
          },
          "originalCurrency": {
            "type": "string",
            "description": "The original currency in which the hold was created."
          },
          "source": {
            "type": "string",
            "description": "Indicates the source of the authorization hold",
            "readOnly": true,
            "enum": [
              "CARD",
              "ACCOUNT"
            ]
          },
          "status": {
            "type": "string",
            "description": "The enumeration containing the statuses of an authorization hold.",
            "readOnly": true,
            "enum": [
              "PENDING",
              "REVERSED",
              "SETTLED",
              "EXPIRED"
            ]
          },
          "userTransactionTime": {
            "type": "string",
            "description": "The formatted time at which the user made this authorization hold."
          }
        },
        "description": "Authorization hold for Deposits (no balances)"
      },
      "DepositTransactionInput": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount that was added to an account"
          },
          "bookingDate": {
            "type": "string",
            "description": "The date of Journal Entry (as Organization Time)",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "externalId": {
            "type": "string",
            "description": "The external id of the deposit transaction, customizable, unique"
          },
          "holdExternalReferenceId": {
            "type": "string",
            "description": "The external id of an account authorization hold"
          },
          "notes": {
            "type": "string",
            "description": "Extra notes about this deposit transaction"
          },
          "paymentDetails": {
            "$ref": "#/components/schemas/PaymentDetails"
          },
          "paymentOrderId": {
            "type": "string",
            "description": "The payment order id of the deposit transaction, customizable"
          },
          "skipMaximumBalanceValidation": {
            "type": "boolean",
            "description": "Flag indicating that a maximum balance validation should be skipped"
          },
          "transactionDetails": {
            "$ref": "#/components/schemas/TransactionDetailsInput"
          },
          "valueDate": {
            "type": "string",
            "description": "The entry date of the deposit (as Organization Time)",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          }
        },
        "description": "Represents the request payload for creating a transaction of type DEPOSIT."
      },
      "DepositsTransaction": {
        "type": "object",
        "properties": {
          "deposit": {
            "$ref": "#/components/schemas/DepositTransactionInput"
          },
          "fee": {
            "$ref": "#/components/schemas/FeeAppliedDepositTransactionInput"
          },
          "withdrawal": {
            "$ref": "#/components/schemas/WithdrawalDepositTransactionInput"
          }
        },
        "description": "Transaction to be executed."
      },
      "DisbursementDetails": {
        "type": "object",
        "properties": {
          "disbursementDate": {
            "type": "string",
            "description": "The activation date, the date when the disbursement actually took place.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the disbursement details, auto generated, unique",
            "readOnly": true
          },
          "expectedDisbursementDate": {
            "type": "string",
            "description": "The date of the expected disbursement.Stored as Organization Time.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "fees": {
            "type": "array",
            "description": "List of fees that should be applied at the disbursement time.",
            "items": {
              "$ref": "#/components/schemas/CustomPredefinedFee"
            }
          },
          "firstRepaymentDate": {
            "type": "string",
            "description": "The date of the expected first repayment. Stored as Organization Time.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "transactionDetails": {
            "$ref": "#/components/schemas/LoanTransactionDetails"
          }
        },
        "description": "The the disbursement details it holds the information related to the disbursement details as disbursement date, first repayment date, disbursement fees."
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RestError"
            }
          }
        }
      },
      "FeeAmount": {
        "type": "object",
        "properties": {
          "due": {
            "type": "number",
            "description": "The due amount."
          },
          "expected": {
            "type": "number",
            "description": "The expected amount, which is sum of paid and due amounts."
          },
          "expectedUnapplied": {
            "type": "number",
            "description": "The expected amount, which is the sum of unapplied fee and planned fee due amounts."
          },
          "paid": {
            "type": "number",
            "description": "The paid amount."
          }
        },
        "description": "Represents a fee amount."
      },
      "FeeAppliedDepositTransactionInput": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The value of the fee applied on the account"
          },
          "externalId": {
            "type": "string",
            "description": "The external id of the current transaction, customizable, unique"
          },
          "notes": {
            "type": "string",
            "description": "Extra notes about the current transaction"
          },
          "predefinedFeeKey": {
            "type": "string",
            "description": "The encodedKey of the predefined fee that defines the current fee"
          }
        },
        "description": "Represents the request payload for creating a transaction of type FEE_APPLIED."
      },
      "FeesAccountSettings": {
        "type": "object",
        "properties": {
          "accruedFee": {
            "type": "number",
            "description": "The accrued fee. Represents the accrued fee for the loan account. The fee on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount.",
            "readOnly": true
          },
          "accruedFeeFromArrears": {
            "type": "number",
            "description": "The accrued fee from arrears. Represents the accrued fee from arrears for the loan account. The fee on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount.",
            "readOnly": true
          },
          "feeRate": {
            "type": "number",
            "description": "The fee rate. Represents the fee rate for the loan account. The fee on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount."
          }
        },
        "description": "The fee settings, holds all the properties regarding fees for the loan account."
      },
      "FinancialInstitutionIdentification": {
        "type": "object",
        "properties": {
          "bic": {
            "type": "string",
            "description": "Business identifier code"
          }
        },
        "description": "The identification of the financial institution"
      },
      "Guarantor": {
        "required": [
          "amount",
          "guarantorKey",
          "guarantorType"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount used by the client for the guaranty"
          },
          "assetName": {
            "type": "string",
            "description": "The name of a value the client guarantees with (populated when the guaranty type is ASSET)"
          },
          "depositAccountKey": {
            "type": "string",
            "description": "The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null."
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the security, auto generated, unique.",
            "readOnly": true
          },
          "guarantorKey": {
            "type": "string",
            "description": "The key of the client/group used as the guarantor."
          },
          "guarantorType": {
            "type": "string",
            "description": "Indicated the account holder type.",
            "enum": [
              "CLIENT",
              "GROUP"
            ]
          }
        },
        "description": "Guarantor, holds information about a client guaranty entry. It can be defined based on another client which guarantees (including or not a savings account whether it is a client of the organization using Mambu or not) or based on a value the client holds (an asset)"
      },
      "Installment": {
        "type": "object",
        "properties": {
          "carryForwardInterestSplit": {
            "$ref": "#/components/schemas/CarryForwardInterestSplit"
          },
          "customSettingDetails": {
            "type": "array",
            "description": "Custom settings associated with the installment.",
            "items": {
              "$ref": "#/components/schemas/CustomSettingDetails"
            }
          },
          "dueDate": {
            "type": "string",
            "description": "The installment due date.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the installment, which is auto generated, and unique.",
            "readOnly": true
          },
          "expectedClosingBalance": {
            "type": "number",
            "description": "The expected closing balance is the remaining amount per installment only applicable for interest only equal installment products."
          },
          "fee": {
            "$ref": "#/components/schemas/InstallmentFee"
          },
          "feeDetails": {
            "type": "array",
            "description": "The breakdown of the fee amounts that have been applied to the loan account.",
            "items": {
              "$ref": "#/components/schemas/InstallmentFeeDetails"
            }
          },
          "fundersInterestDue": {
            "type": "number",
            "description": "The amount of interest allocated to funders for P2P accounts only."
          },
          "interest": {
            "$ref": "#/components/schemas/InstallmentAllocationElementTaxableAmount"
          },
          "interestAccrued": {
            "type": "number",
            "description": "The interest accrued calculated on previous repayment closing balance only applicable interest only equal installment products."
          },
          "isPaymentHoliday": {
            "type": "boolean",
            "description": "`TRUE` if a payment holiday is offered for the installment, `FALSE` otherwise."
          },
          "lastPaidDate": {
            "type": "string",
            "description": "The installment last paid date.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastPenaltyAppliedDate": {
            "type": "string",
            "description": "The most recent date on which a penalty was applied to the account.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "nonScheduledPrincipalBalanceOverpayment": {
            "type": "number",
            "description": "The non-scheduled principal balance overpayment for the loan account"
          },
          "notes": {
            "type": "string",
            "description": "Any comment or notes added to the installment."
          },
          "number": {
            "type": "string",
            "description": "The order number of an installment among all the installments generated for a loan. Loan installments are put in ascending order by due date. The order number only applies to the content of a particular JSON response therefore it is not unique."
          },
          "organizationCommissionDue": {
            "type": "number",
            "description": "The amount of interest allocated to organization as commission for P2P accounts only."
          },
          "parentAccountKey": {
            "type": "string",
            "description": "The parent account key of the installment."
          },
          "penalty": {
            "$ref": "#/components/schemas/InstallmentAllocationElementTaxableAmount"
          },
          "principal": {
            "$ref": "#/components/schemas/InstallmentAllocationElementAmount"
          },
          "repaidDate": {
            "type": "string",
            "description": "The installment repaid date.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "state": {
            "type": "string",
            "description": "The installment state.",
            "enum": [
              "PENDING",
              "LATE",
              "PAID",
              "PARTIALLY_PAID",
              "GRACE"
            ]
          }
        },
        "description": "Represents a single installment details structure."
      },
      "InstallmentAllocationElementAmount": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount"
          }
        },
        "description": "Represents an installment allocation element amount structure."
      },
      "InstallmentAllocationElementTaxableAmount": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount"
          },
          "tax": {
            "$ref": "#/components/schemas/Amount"
          }
        },
        "description": "Represents an installment allocation element taxable amount structure."
      },
      "InstallmentFee": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/FeeAmount"
          },
          "tax": {
            "$ref": "#/components/schemas/Amount"
          }
        },
        "description": "Represents an installment fee structure."
      },
      "InstallmentFeeDetails": {
        "type": "object",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/AmountWithReduced"
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the predefined fee, auto generated, unique",
            "readOnly": true
          },
          "id": {
            "type": "string",
            "description": "The id of the fee, provided by the client"
          },
          "name": {
            "type": "string",
            "description": "The name of the fee"
          },
          "tax": {
            "$ref": "#/components/schemas/AmountWithReduced"
          }
        },
        "description": "Represents fee details for an installment."
      },
      "InterestAccountSettingsAvailability": {
        "required": [
          "interestRateSettings",
          "startDate",
          "type"
        ],
        "type": "object",
        "properties": {
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the Interest Availability, auto generated, unique.",
            "readOnly": true
          },
          "interestRateSettings": {
            "$ref": "#/components/schemas/DepositAccountInterestAvailabilitySettings"
          },
          "startDate": {
            "type": "string",
            "description": "Start date of the Interest Availability.",
            "format": "date",
            "example": "1987-04-26"
          },
          "type": {
            "type": "string",
            "description": "Type of the interest.",
            "enum": [
              "INTEREST",
              "OVERDRAFT",
              "TECHNICAL_OVERDRAFT"
            ]
          }
        },
        "description": "Interest Availability of a Deposit Account"
      },
      "InterestAccountSettingsAvailabilityResponse": {
        "type": "object",
        "properties": {
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the Interest Availability, auto generated, unique.",
            "readOnly": true
          },
          "interestRateSettings": {
            "$ref": "#/components/schemas/DepositAccountInterestRateSettings"
          },
          "startDate": {
            "type": "string",
            "description": "Start date of the Interest Availability.",
            "format": "date",
            "example": "1987-04-26"
          },
          "type": {
            "type": "string",
            "description": "Type of the interest.",
            "enum": [
              "INTEREST",
              "OVERDRAFT",
              "TECHNICAL_OVERDRAFT"
            ]
          }
        },
        "description": "Interest Availability of a Deposit Account"
      },
      "InterestAccountSettingsAvailabilityUpdate": {
        "required": [
          "interestRateSettings"
        ],
        "type": "object",
        "properties": {
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the Interest Availability, auto generated, unique.",
            "readOnly": true
          },
          "interestRateSettings": {
            "$ref": "#/components/schemas/DepositAccountInterestAvailabilitySettings"
          }
        },
        "description": "Interest Availability of a Deposit Account"
      },
      "InterestSettings": {
        "type": "object",
        "properties": {
          "accountInterestRateSettings": {
            "type": "array",
            "description": "Adjustable interest rates settings for loan account",
            "items": {
              "$ref": "#/components/schemas/AccountInterestRateSettings"
            }
          },
          "accrueInterestAfterMaturity": {
            "type": "boolean",
            "description": "The accrue interest after maturity. If the product support this option, specify if the interest should be accrued after the account maturity date."
          },
          "accrueLateInterest": {
            "type": "boolean",
            "description": "Indicates whether late interest is accrued for this loan account",
            "readOnly": true
          },
          "effectiveInterestRate": {
            "type": "number",
            "description": "The effective interest rate. Represents the interest rate for the loan accounts with semi-annually compounding product."
          },
          "interestApplicationMethod": {
            "type": "string",
            "description": "The interest application method for a loan account. It shows the method used by the loans defining how the interest gets applied.",
            "enum": [
              "AFTER_DISBURSEMENT",
              "REPAYMENT_DUE_DATE",
              "FIXED_DAYS_OF_MONTH"
            ]
          },
          "interestBalanceCalculationMethod": {
            "type": "string",
            "description": "The interest balance calculation method for a loan account. Shows the possible methods for obtaining the balance based on which the interest will be calculated for loan repayment.",
            "enum": [
              "ONLY_PRINCIPAL",
              "PRINCIPAL_AND_INTEREST",
              "PRINCIPAL_AND_FEE",
              "PRINCIPAL_INTEREST_AND_FEE"
            ]
          },
          "interestCalculationMethod": {
            "type": "string",
            "description": "The interest calculation method for a loan account. Shows the different interest calculation methods.",
            "enum": [
              "FLAT",
              "DECLINING_BALANCE",
              "DECLINING_BALANCE_DISCOUNTED",
              "EQUAL_INSTALLMENTS"
            ]
          },
          "interestChargeFrequency": {
            "type": "string",
            "description": "The interest change frequency method for a loan account. Shows the possible methods for obtaining the balance based on which the interest will be calculated for loan repayment.",
            "enum": [
              "ANNUALIZED",
              "EVERY_MONTH",
              "EVERY_FOUR_WEEKS",
              "EVERY_WEEK",
              "EVERY_DAY",
              "EVERY_X_DAYS"
            ]
          },
          "interestRate": {
            "type": "number",
            "description": "The interest rate. Represents the interest rate for the loan account. The interest on loans is accrued on a daily basis, which allows charging the clients only for the days they actually used the loan amount."
          },
          "interestRateReviewCount": {
            "type": "integer",
            "description": "Interest rate update frequency unit count.",
            "format": "int32"
          },
          "interestRateReviewUnit": {
            "type": "string",
            "description": "The interest rate review unit values. Shows how often is index interest rate reviewed.",
            "enum": [
              "DAYS",
              "WEEKS",
              "MONTHS"
            ]
          },
          "interestRateSource": {
            "type": "string",
            "description": "The interest rate review unit values. Shows how often is index interest rate reviewed.",
            "enum": [
              "FIXED_INTEREST_RATE",
              "INDEX_INTEREST_RATE"
            ]
          },
          "interestSpread": {
            "type": "number",
            "description": "Interest to be added to active organization index interest rate in order to find out actual interest rate"
          },
          "interestType": {
            "type": "string",
            "description": "The possible values for how we compute and apply the interest",
            "enum": [
              "SIMPLE_INTEREST",
              "CAPITALIZED_INTEREST",
              "COMPOUNDING_INTEREST"
            ]
          },
          "pmtAdjustmentThreshold": {
            "$ref": "#/components/schemas/PMTAdjustmentThreshold"
          }
        },
        "description": "The interest settings, holds all the properties regarding interests for the loan account."
      },
      "InvestorFund": {
        "required": [
          "amount",
          "guarantorKey",
          "guarantorType"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount used by the client for the guaranty"
          },
          "assetName": {
            "type": "string",
            "description": "The name of a value the client guarantees with (populated when the guaranty type is ASSET)"
          },
          "depositAccountKey": {
            "type": "string",
            "description": "The key of the deposit account used by the guarantor (populated when the guaranty type is GUARANTOR). It can be null."
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the entity, generated, globally unique",
            "readOnly": true
          },
          "guarantorKey": {
            "type": "string",
            "description": "The key of the client/group used as the guarantor."
          },
          "guarantorType": {
            "type": "string",
            "description": "Indicated the account holder type.",
            "enum": [
              "CLIENT",
              "GROUP"
            ]
          },
          "id": {
            "type": "string",
            "description": "Investor fund unique identifier. All versions of an investor fund will have same id."
          },
          "interestCommission": {
            "type": "number",
            "description": "The constraint minimum value"
          },
          "sharePercentage": {
            "type": "number",
            "description": "Percentage of loan shares this investor owns"
          }
        },
        "description": "Contains the details about an investor fund including fields like encoded key, guarantor type, amount and guarantor key"
      },
      "LoanAccount": {
        "required": [
          "accountHolderKey",
          "accountHolderType",
          "loanAmount",
          "productTypeKey",
          "scheduleSettings"
        ],
        "type": "object",
        "properties": {
          "accountArrearsSettings": {
            "$ref": "#/components/schemas/AccountArrearsSettings"
          },
          "accountHolderKey": {
            "type": "string",
            "description": "The encoded key of the account holder."
          },
          "accountHolderType": {
            "type": "string",
            "description": "Indicated the account holder type.",
            "enum": [
              "CLIENT",
              "GROUP"
            ]
          },
          "accountState": {
            "type": "string",
            "description": "All the generic account states applicable to loans.",
            "enum": [
              "PARTIAL_APPLICATION",
              "PENDING_APPROVAL",
              "APPROVED",
              "ACTIVE",
              "ACTIVE_IN_ARREARS",
              "CLOSED",
              "CLOSED_WRITTEN_OFF",
              "CLOSED_REJECTED"
            ]
          },
          "accountSubState": {
            "type": "string",
            "description": "All the generic account sub states applicable to loans.",
            "enum": [
              "PARTIALLY_DISBURSED",
              "LOCKED",
              "LOCKED_CAPPING",
              "REFINANCED",
              "RESCHEDULED",
              "WITHDRAWN",
              "REPAID",
              "REJECTED",
              "WRITTEN_OFF",
              "TERMINATED"
            ]
          },
          "accruedInterest": {
            "type": "number",
            "description": "The amount of interest that has been accrued in the loan account."
          },
          "accruedPenalty": {
            "type": "number",
            "description": "The accrued penalty, represents the amount of penalty that has been accrued in the loan account."
          },
          "activationTransactionKey": {
            "type": "string",
            "description": "The encoded key of the transaction that activated the loan account."
          },
          "adjustTotalDueForInstallmentsWithDifferentInterval": {
            "type": "boolean",
            "description": "Adjust the total due for repayment when the repayment period is different than the repayment frequency",
            "readOnly": true
          },
          "allowAdvanceRepayment": {
            "type": "boolean",
            "description": "True if advance repayment is allowed; false otherwise.",
            "readOnly": true
          },
          "allowOffset": {
            "type": "boolean",
            "description": "DEPRECATED - Will always be false."
          },
          "approvedDate": {
            "type": "string",
            "description": "The date the loan account was approved.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "arrearsTolerancePeriod": {
            "type": "integer",
            "description": "The arrears tolerance (period or day of month) depending on the product settings.",
            "format": "int32"
          },
          "assets": {
            "type": "array",
            "description": "The list of assets associated with the current loan account.",
            "items": {
              "$ref": "#/components/schemas/Asset"
            }
          },
          "assignedBranchKey": {
            "type": "string",
            "description": "The key of the branch this loan account is assigned to. The branch is set to unassigned if no branch field is set."
          },
          "assignedCentreKey": {
            "type": "string",
            "description": "The key of the centre this account is assigned to."
          },
          "assignedUserKey": {
            "type": "string",
            "description": "The key of the user this loan account is assigned to."
          },
          "balances": {
            "$ref": "#/components/schemas/Balances"
          },
          "closedDate": {
            "type": "string",
            "description": "The date the loan was closed.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "creationDate": {
            "type": "string",
            "description": "The date the loan account was created.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "creditArrangementKey": {
            "type": "string",
            "description": "The key to the line of credit where this account is registered to."
          },
          "creditBalanceSettings": {
            "$ref": "#/components/schemas/RevolvingAccountCreditBalanceSettings"
          },
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "daysInArrears": {
            "type": "integer",
            "description": "The number of days the loan account is in arrears.",
            "format": "int32",
            "readOnly": true
          },
          "daysLate": {
            "type": "integer",
            "description": "The number of days a repayment for the loan account is late.",
            "format": "int32",
            "readOnly": true
          },
          "disbursementDetails": {
            "$ref": "#/components/schemas/DisbursementDetails"
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the loan account, it is auto generated, and must be unique.",
            "readOnly": true
          },
          "feesSettings": {
            "$ref": "#/components/schemas/FeesAccountSettings"
          },
          "fundingSources": {
            "type": "array",
            "description": "The list of funds associated with the loan account.",
            "items": {
              "$ref": "#/components/schemas/InvestorFund"
            }
          },
          "futurePaymentsAcceptance": {
            "type": "string",
            "description": "Shows whether the repayment transactions with entry date set in the future are allowed or not for this loan account.",
            "enum": [
              "NO_FUTURE_PAYMENTS",
              "ACCEPT_FUTURE_PAYMENTS",
              "ACCEPT_OVERPAYMENTS"
            ]
          },
          "guarantors": {
            "type": "array",
            "description": "The list of guarantees associated with the loan account.",
            "items": {
              "$ref": "#/components/schemas/Guarantor"
            }
          },
          "id": {
            "type": "string",
            "description": "The ID of the loan account, it can be generated and customized, and must be unique."
          },
          "interestAccruedInBillingCycle": {
            "type": "number",
            "description": "The interest that is accrued in the current billing cycle.",
            "readOnly": true
          },
          "interestCommission": {
            "type": "number",
            "description": "The value of the interest booked by the organization from the accounts funded by investors. Null if the funds are not enabled."
          },
          "interestFromArrearsAccrued": {
            "type": "number",
            "description": "The amount of interest from arrears that has been accrued in the loan account.",
            "readOnly": true
          },
          "interestSettings": {
            "$ref": "#/components/schemas/InterestSettings"
          },
          "lastAccountAppraisalDate": {
            "type": "string",
            "description": "The date the loan account has last been evaluated for interest, principal, fees, and penalties calculations expressed in the organization time format and time zone.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastInterestAppliedDate": {
            "type": "string",
            "description": "The date of the last time the loan account had interest applied (stored to interest balance), expressed in the organization time format and time zone.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastInterestReviewDate": {
            "type": "string",
            "description": "The date the interest was reviewed last time, stored in the organization time format and time zone.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastLockedDate": {
            "type": "string",
            "description": "The date when the loan account was set for the last time in the `LOCKED` state expressed in the organization time format and time zone. If null, the account is not locked anymore.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The last date the loan was updated.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastSetToArrearsDate": {
            "type": "string",
            "description": "The date when the loan account was set to last standing or null; if never set, it is expressed in your organization time format and time zone.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "lastTaxRateReviewDate": {
            "type": "string",
            "description": "The date the tax rate on the loan account was last checked, expressed in the organization time format and time zone.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "latePaymentsRecalculationMethod": {
            "type": "string",
            "description": "The late payment recalculation method. Is used by loan accounts to have the schedule recalculated when late payments are posted on accounts..",
            "enum": [
              "OVERDUE_INSTALLMENTS_INCREASE",
              "LAST_INSTALLMENT_INCREASE",
              "NO_RECALCULATION"
            ]
          },
          "loanAmount": {
            "type": "number",
            "description": "The loan amount."
          },
          "loanName": {
            "type": "string",
            "description": "The name of the loan account."
          },
          "lockedAccountTotalDueType": {
            "type": "string",
            "description": "Type of total due amount for a locked account.",
            "enum": [
              "BALANCE_AMOUNT",
              "DUE_AMOUNT_ON_LATE_INSTALLMENTS"
            ]
          },
          "lockedOperations": {
            "type": "array",
            "description": "A list with operations which are locked when the account is in the AccountState.LOCKED substate.",
            "items": {
              "type": "string",
              "description": "The possible operations that can be executed over a loan account, ex: apply interest/fees/penalties.",
              "enum": [
                "APPLY_INTEREST",
                "APPLY_FEES",
                "APPLY_PENALTIES"
              ]
            }
          },
          "migrationEventKey": {
            "type": "string",
            "description": "The migration event encoded key associated with this loan account. If this account was imported, track which 'migration event' they came from."
          },
          "modifyInterestForFirstInstallment": {
            "type": "boolean",
            "description": "Adjust the interest for the first repayment when the first repayment period is different than the repayment frequency",
            "readOnly": true
          },
          "notes": {
            "type": "string",
            "description": "The notes about this loan account."
          },
          "originalAccountKey": {
            "type": "string",
            "description": "The key of the original rescheduled or refinanced loan account."
          },
          "paymentHolidaysAccruedInterest": {
            "type": "number",
            "description": "The amount of interest that has been accrued during payment holidays in the loan account."
          },
          "paymentMethod": {
            "type": "string",
            "description": "The payment allocation method used by the loans defining how the payments get performed.",
            "enum": [
              "HORIZONTAL",
              "VERTICAL"
            ]
          },
          "penaltySettings": {
            "$ref": "#/components/schemas/PenaltySettings"
          },
          "plannedInstallmentFees": {
            "type": "array",
            "description": "The list with manual fees planned on the installments of the loan account.",
            "items": {
              "$ref": "#/components/schemas/PlannedInstallmentFee"
            }
          },
          "prepaymentSettings": {
            "$ref": "#/components/schemas/PrepaymentSettings"
          },
          "principalPaymentSettings": {
            "$ref": "#/components/schemas/PrincipalPaymentAccountSettings"
          },
          "productTypeKey": {
            "type": "string",
            "description": "The key for the type of loan product that this loan account is based on."
          },
          "redrawSettings": {
            "$ref": "#/components/schemas/LoanAccountRedrawSettings"
          },
          "rescheduledAccountKey": {
            "type": "string",
            "description": "The key pointing to where this loan account was rescheduled or refinanced to. This value is only not null if rescheduled."
          },
          "scheduleSettings": {
            "$ref": "#/components/schemas/ScheduleSettings"
          },
          "settlementAccountKey": {
            "type": "string",
            "description": "The encoded key of the settlement account."
          },
          "taxRate": {
            "type": "number",
            "description": "The tax rate."
          },
          "terminationDate": {
            "type": "string",
            "description": "The date this loan account was terminated.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "tranches": {
            "type": "array",
            "description": "The list of disbursement tranches available for the loan account.",
            "items": {
              "$ref": "#/components/schemas/LoanTranche"
            }
          },
          "useInterestAccruedAsTotalDueWhenIntervalIsDifferent": {
            "type": "boolean",
            "description": "Use interest accrued as total due for repayment when the repayment period is different than the repayment frequency",
            "readOnly": true
          },
          "_Example_Custom_Fields": {
            "$ref": "#/components/schemas/_Example_Custom_Fields"
          }
        },
        "description": "Represents a loan account. A loan account defines the amount that your organization lends to a client. The terms and conditions of a loan account are defined by a loan product. In a loan account, Mambu stores all the information related to disbursements, repayments, interest rates, and withdrawals."
      },
      "LoanAccountRedrawSettings": {
        "required": [
          "restrictNextDueWithdrawal"
        ],
        "type": "object",
        "properties": {
          "restrictNextDueWithdrawal": {
            "type": "boolean",
            "description": "`TRUE` if withdrawing amounts that reduce the next due instalment repayment is restricted, `FALSE` otherwise."
          }
        },
        "description": "Represents the redraw settings for a loan account."
      },
      "LoanAccountSchedule": {
        "type": "object",
        "properties": {
          "currency": {
            "$ref": "#/components/schemas/Currency"
          },
          "installments": {
            "type": "array",
            "description": "The loan account schedule installments list.",
            "items": {
              "$ref": "#/components/schemas/Installment"
            }
          }
        },
        "description": "Represents a single loan account schedule structure."
      },
      "LoanTranche": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount this tranche has available for disburse"
          },
          "disbursementDetails": {
            "$ref": "#/components/schemas/TrancheDisbursementDetails"
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the transaction details , auto generated, unique.",
            "readOnly": true
          },
          "fees": {
            "type": "array",
            "description": "Fees that are associated with this tranche",
            "items": {
              "$ref": "#/components/schemas/CustomPredefinedFee"
            }
          },
          "trancheNumber": {
            "type": "integer",
            "description": "Index indicating the tranche number",
            "format": "int32"
          }
        },
        "description": "In some cases organizations may approve loans but not disburse the full amount initially. They would like to spread the disbursement (and risk) over time. Likewise for the client, they may not need the full loan amount up front. They may want to have a loan to buy some equipment for their business but will make one purchase today and another purchase in a few months.  In these cases, they don't need the full amount and wouldn't want to pay interest on cash they don't need yet. A solution for this matter is the usage of disbursement in tranches. This class holds the information required for one of this tranche. "
      },
      "LoanTransactionDetails": {
        "type": "object",
        "properties": {
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the entity, generated, globally unique",
            "readOnly": true
          },
          "internalTransfer": {
            "type": "boolean",
            "description": "Whether the transaction was transferred between loans or deposit accounts"
          },
          "targetDepositAccountKey": {
            "type": "string",
            "description": "In case of a transaction to a deposit account this represent the deposit account key to which the transaction was made."
          },
          "transactionChannelId": {
            "type": "string",
            "description": "The ID of the transaction channel associated with the transaction details."
          },
          "transactionChannelKey": {
            "type": "string",
            "description": "The encoded key of the transaction channel associated with the transaction details."
          }
        },
        "description": "Represents the loan transaction details."
      },
      "LocalDateTimeQueryParam": {
        "type": "object",
        "properties": {
          "localDateTime": {
            "type": "string",
            "description": "Local datetime in ISO-8601 format (yyyy-MM-ddTHH:mm:ss)",
            "example": "2016-09-06T13:37:50"
          }
        }
      },
      "MonthAndDay": {
        "type": "object",
        "properties": {
          "day": {
            "type": "integer",
            "description": "The day in the month",
            "format": "int32"
          },
          "month": {
            "type": "integer",
            "description": "The month of the year",
            "format": "int32"
          }
        },
        "description": "Wrapper for month and day for instances where the year isn't needed"
      },
      "MultipleAtomicGroupsInput": {
        "type": "object",
        "properties": {
          "atomicGroups": {
            "type": "array",
            "description": "Atomic Groups list",
            "items": {
              "$ref": "#/components/schemas/AtomicGroup"
            }
          }
        },
        "description": "Represents the request payload for creating multiple transactions atomically in groups."
      },
      "MultipleAtomicGroupsResponse": {
        "type": "object",
        "properties": {
          "atomicGroups": {
            "type": "array",
            "description": "Ordered unique ids for processing accepted atomic groups",
            "items": {
              "type": "string",
              "description": "Ordered unique ids for processing accepted atomic groups"
            }
          },
          "requestId": {
            "type": "string",
            "description": "Unique id for the accepted async request"
          }
        },
        "description": "Represents the response for accepting multiple transactions atomically in groups."
      },
      "OtherAccountIdentification": {
        "type": "object",
        "properties": {
          "identification": {
            "type": "string",
            "description": "The identification of the payer/payee"
          },
          "scheme": {
            "type": "string",
            "description": "The identification scheme"
          }
        },
        "description": "Represents other way of identification for the account."
      },
      "PMTAdjustmentThreshold": {
        "type": "object",
        "properties": {
          "method": {
            "type": "string",
            "description": "Represents the method used to calculate the PMT adjustment threshold. Supported value is CALENDAR_DAYS",
            "enum": [
              "WORKING_DAYS",
              "CALENDAR_DAYS"
            ]
          },
          "numberOfDays": {
            "type": "integer",
            "description": "The number of days that trigger a PMT Adjustment.",
            "format": "int32"
          }
        },
        "description": "Represents PMT Adjustment threshold settings for loan accounts and loan products."
      },
      "Party": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the party"
          }
        },
        "description": "The details of the party for a transaction"
      },
      "PatchOperation": {
        "required": [
          "op",
          "path"
        ],
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "description": "The field from where a value should be moved, when using move"
          },
          "op": {
            "type": "string",
            "description": "The change to perform",
            "enum": [
              "ADD",
              "REPLACE",
              "REMOVE",
              "MOVE"
            ]
          },
          "path": {
            "type": "string",
            "description": "The field to perform the operation on"
          },
          "value": {
            "type": "object",
            "description": "The value of the field, can be null"
          }
        },
        "description": "A single change that needs to be made to a resource"
      },
      "PatchOperationsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/PatchOperation"
        }
      },
      "PaymentDetails": {
        "type": "object",
        "properties": {
          "creditor": {
            "$ref": "#/components/schemas/Party"
          },
          "creditorAccount": {
            "$ref": "#/components/schemas/AccountDetails"
          },
          "creditorAgent": {
            "$ref": "#/components/schemas/Agent"
          },
          "debtor": {
            "$ref": "#/components/schemas/Party"
          },
          "debtorAccount": {
            "$ref": "#/components/schemas/AccountDetails"
          },
          "debtorAgent": {
            "$ref": "#/components/schemas/Agent"
          },
          "paymentIdentification": {
            "$ref": "#/components/schemas/PaymentIdentification"
          },
          "paymentTypeInformation": {
            "$ref": "#/components/schemas/PaymentTypeInformation"
          },
          "remittanceInformation": {
            "$ref": "#/components/schemas/RemittanceInformation"
          }
        },
        "description": "The payment information including account identification details"
      },
      "PaymentIdentification": {
        "type": "object",
        "properties": {
          "endToEndIdentification": {
            "type": "string",
            "description": "Identifier assigned by the initiating party to the transaction"
          },
          "instructionIdentification": {
            "type": "string",
            "description": "Identifier of a payment instruction"
          },
          "transactionIdentification": {
            "type": "string",
            "description": "Identifier unique for a period assigned by the first initiating party to the transaction"
          }
        },
        "description": "The payment identification details"
      },
      "PaymentTypeInformation": {
        "type": "object",
        "properties": {
          "serviceLevel": {
            "$ref": "#/components/schemas/ServiceLevel"
          }
        },
        "description": "The information specifying the type of transaction"
      },
      "PenaltySettings": {
        "type": "object",
        "properties": {
          "loanPenaltyCalculationMethod": {
            "type": "string",
            "description": "The last penalty calculation method, represents on what amount are the penalties calculated.",
            "enum": [
              "NONE",
              "OVERDUE_BALANCE",
              "OVERDUE_BALANCE_AND_INTEREST",
              "OVERDUE_BALANCE_INTEREST_AND_FEE",
              "OUTSTANDING_PRINCIPAL"
            ]
          },
          "penaltyRate": {
            "type": "number",
            "description": "The penalty rate, represents the rate (in percent) which is charged as a penalty."
          }
        },
        "description": "The penalty settings, holds all the fields regarding penalties"
      },
      "PeriodicPayment": {
        "required": [
          "amount",
          "toInstallment"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The PMT value used in periodic payment"
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the periodic payment, auto generated, unique.",
            "readOnly": true
          },
          "toInstallment": {
            "type": "integer",
            "description": "The installment's position up to which the PMT will be used",
            "format": "int32"
          }
        },
        "description": "For fixed term loans there is the possibility to define a payment plan. A payment plan consists of multiple periodic payments. This class holds information about a periodic payment."
      },
      "PlannedInstallmentFee": {
        "required": [
          "predefinedFeeKey"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount of the planned fee."
          },
          "applyOnDate": {
            "type": "string",
            "description": "The date when a planned fee should be applied, overriding installment's due date. It should match the interval of the installment. If it belong to first installment, it should be between disbursement date and installment due date.",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the planned installment fee, auto generated, unique.",
            "readOnly": true
          },
          "installmentKey": {
            "type": "string",
            "description": "The encoded key of the installment on which the predefined fee is planned."
          },
          "installmentNumber": {
            "type": "integer",
            "description": "The number of the installment on which the predefined fee is planned. It is used only in the case when fees are created at the same time with the loan account creation or during preview schedule, before account creation, otherwise this should be empty and installmentKey will be used to identify an installment.",
            "format": "int32"
          },
          "predefinedFeeKey": {
            "type": "string",
            "description": "The encoded key of the predefined fee which is planned."
          }
        },
        "description": "The planned fee details holds the information related to the installment key, predefined fee key and amount"
      },
      "PrepaymentSettings": {
        "type": "object",
        "properties": {
          "applyInterestOnPrepaymentMethod": {
            "type": "string",
            "description": "The apply interest method type for pre-payments.",
            "enum": [
              "AUTOMATIC",
              "MANUAL"
            ]
          },
          "elementsRecalculationMethod": {
            "type": "string",
            "description": "The elements recalculation method types",
            "enum": [
              "PRINCIPAL_EXPECTED_FIXED",
              "TOTAL_EXPECTED_FIXED"
            ]
          },
          "ercFreeAllowanceAmount": {
            "type": "number"
          },
          "ercFreeAllowancePercentage": {
            "type": "number",
            "description": "Early repayment charge fee free allowance in percentage per year"
          },
          "prepaymentRecalculationMethod": {
            "type": "string",
            "description": "The prepayment recalculation method types.",
            "enum": [
              "NO_RECALCULATION",
              "RESCHEDULE_REMAINING_REPAYMENTS",
              "RECALCULATE_SCHEDULE_KEEP_SAME_NUMBER_OF_TERMS",
              "RECALCULATE_SCHEDULE_KEEP_SAME_PRINCIPAL_AMOUNT",
              "RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT",
              "REDUCE_AMOUNT_PER_INSTALLMENT",
              "REDUCE_NUMBER_OF_INSTALLMENTS",
              "REDUCE_NUMBER_OF_INSTALLMENTS_NEW"
            ]
          },
          "principalPaidInstallmentStatus": {
            "type": "string",
            "description": "The status of installment after the principal was paid off as part of an over-payment.",
            "enum": [
              "PARTIALLY_PAID",
              "PAID",
              "ORIGINAL_TOTAL_EXPECTED_PAID"
            ]
          }
        },
        "description": "The prepayment settings, holds all prepayment properties."
      },
      "PrincipalPaymentAccountSettings": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "Fixed amount for being used for the repayments principal due."
          },
          "encodedKey": {
            "type": "string",
            "description": "The encoded key of the principal payment base settings, auto generated, unique.",
            "readOnly": true
          },
          "includeFeesInFloorAmount": {
            "type": "boolean",
            "description": "Boolean flag, if true, the fees will be included along with the principal in the repayment floor amount, for a revolving credit account"
          },
          "includeInterestInFloorAmount": {
            "type": "boolean",
            "description": "Boolean flag, if true, the interest will be included along with the principal in the repayment floor amount, for a revolving credit account"
          },
          "percentage": {
            "type": "number",
            "description": "Percentage of principal amount used for the repayments principal due."
          },
          "principalCeilingValue": {
            "type": "number",
            "description": "The maximum principal due amount a repayment made with this settings can have"
          },
          "principalFloorValue": {
            "type": "number",
            "description": "The minimum principal due amount a repayment made with this settings can have"
          },
          "principalPaymentMethod": {
            "type": "string",
            "description": "The principal payment method (for revolving credits)",
            "enum": [
              "FLAT",
              "OUTSTANDING_PRINCIPAL_PERCENTAGE",
              "PRINCIPAL_PERCENTAGE_LAST_DISB",
              "TOTAL_BALANCE_PERCENTAGE",
              "TOTAL_BALANCE_FLAT",
              "TOTAL_PRINCIPAL_PERCENTAGE"
            ]
          },
          "totalDueAmountFloor": {
            "type": "number",
            "description": "The minimum total due amount a repayment made with this settings can have"
          },
          "totalDuePayment": {
            "type": "string",
            "description": "The principal payment method (for revolving credits)",
            "enum": [
              "FLAT",
              "OUTSTANDING_PRINCIPAL_PERCENTAGE",
              "PRINCIPAL_PERCENTAGE_LAST_DISB",
              "TOTAL_BALANCE_PERCENTAGE",
              "TOTAL_BALANCE_FLAT",
              "TOTAL_PRINCIPAL_PERCENTAGE"
            ]
          }
        },
        "description": "The principal payment account settings, holds the required information for the principal payment process of an account."
      },
      "RemittanceInformation": {
        "type": "object",
        "properties": {
          "structured": {
            "$ref": "#/components/schemas/Structured"
          },
          "unstructured": {
            "type": "string",
            "description": "Information supplied to match the items of the payment in an unstructured form"
          }
        },
        "description": "The information specifying the payment items that are intended to settle"
      },
      "ReopenDepositAction": {
        "type": "object",
        "properties": {
          "notes": {
            "type": "string",
            "description": "The notes or description attached to this object."
          }
        },
        "description": "Reopen a deposit account"
      },
      "RestError": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "integer",
            "format": "int32"
          },
          "errorReason": {
            "type": "string",
            "enum": [
              "SUCCESS",
              "INVALID_BASIC_AUTHORIZATION",
              "INVALID_CREDENTIALS",
              "INVALID_API_OPERATION",
              "INVALID_PARAMETERS",
              "METHOD_NOT_IMPLEMENTED",
              "INTERNAL_ERROR",
              "API_NOT_AUTHORIZED",
              "USER_TRANSACTION_LIMIT_EXCEEDED",
              "API_CONFIGURATION_ERROR",
              "INVALID_TENANT_ID",
              "INVALID_PAGINATION_OFFSET_VALUE",
              "OUT_OF_BOUNDS_PAGINATION_OFFSET_VALUE",
              "INVALID_PAGINATION_LIMIT_VALUE",
              "OUT_OF_BOUNDS_PAGINATION_LIMIT_VALUE",
              "INVALID_PERMISSIONS",
              "INVALID_IP_ADDRESS",
              "INACTIVE_USER",
              "NO_API_ACCESS",
              "FEATURE_DISABLED",
              "MAX_FILE_SIZE_EXCEEDED",
              "MAX_FILENAME_LENGTH_EXCEEDED",
              "UNSUPPORTED_CHARACTER_ENCODING",
              "INVALID_API_PROTOCOL",
              "EXCESSIVE_INVALID_REQUESTS",
              "INCONSISTENT_IDENTIFIER_WITH_JSON",
              "INVALID_JSON_SYNTAX",
              "PARAMETER_NOT_ALLOWED",
              "START_DATE_AFTER_END_DATE",
              "OBJECT_NOT_FOUND",
              "MISSING_ENTITY_JSON",
              "MISSING_REQUIRED_PARAMETER",
              "READ_ONLY_MODE",
              "UNSUPPORTED_PAGINATION",
              "NOT_AVAILABLE_FOR_API_V1",
              "BLOCKING_OPERATION_IN_PROGRESS",
              "QUERY_TIMEOUT_EXCEPTION",
              "LOCK_ACCOUNT_WAIT_TIMEOUT",
              "OUT_OF_BOUNDS_PAGINATION_OFFSET_AND_LIMIT_PAIR",
              "NON_REVERSIBLE_WRITE_OFF",
              "NON_WEEKLY_LOAN_REPAYMENTS",
              "INVALID_LOAN_ACCOUNT_ID",
              "INVALID_AMOUNT",
              "INVALID_DATE",
              "INVALID_NOTES",
              "INVALID_TRANSACTION_TYPE_ID",
              "INVALID_ACCOUNT_STATE",
              "INVALID_FEE",
              "LOAN_PRODUCT_MISMATCH",
              "INVALID_FIELD_FOR_TRANSACTION_TYPE",
              "INACTIVE_TRANSACTION_TYPE",
              "EXCESS_REPAYMENT_ERROR",
              "TRANSACTION_LOGGED_AFTER_NOT_DISBURSED_TRANCHE",
              "UNDEFINED_ACCOUNT_FOR_FINANCIAL_RESOURCE_ERROR",
              "INVALID_ACCOUNT_FOR_JOURNAL_ENTRY_ERROR",
              "MISSING_LOAN_ID",
              "MAXIMUM_EXPOSURE_EXCEEDED",
              "INVALID_STATE_TRANSITION",
              "NUMBER_OF_LOANS_EXCEEDED",
              "INVALID_FIRST_REPAYMENT_DUE_DATE",
              "INVALID_REPAYMENT_DUE_DAY",
              "INVALID_INTEREST_RATE",
              "INVALID_INSTALLMENTS",
              "MISSING_LINKED_ACCOUNT",
              "PREPAYMENT_NOT_ALLOWED_ERROR",
              "REPAYMENT_DATE_IN_THE_FUTURE_ERROR",
              "INVALID_DISBURSEMENT_DATE",
              "ILLEGAL_LOAN_PARAMETERS_MODIFICATION",
              "ORIGINAL_ACCOUNT_HAS_FUNDS",
              "INVALID_ACCOUNT_STATE_FOR_REPAYMENTS",
              "DISBURSEMENT_FEES_EXCEED_LOAN_AMOUNT",
              "INTEREST_CANNOT_BE_APPLIED",
              "ENTRY_DATE_BEFORE_OTHER_TRANSACTION",
              "INCONSISTENT_SCHEDULE_PRINCIPAL_DUE_WITH_LOAN_AMOUNT",
              "ACCOUNT_HAS_NO_ACCRUED_INTEREST",
              "INTEREST_ALREADY_APPLIED_ON_DISBURSEMENT_ACCOUNT",
              "INCONSISTENT_WITH_FIXED_DAYS_OF_MONTH",
              "NEGATIVE_PRINCIPAL_FOR_INSTALLMENT",
              "INVALID_TAX_RATE",
              "INSUFFICIENT_GUARANTEES",
              "MISSING_REPAYMENT_PERIOD_COUNT",
              "MISSING_REPAYMENT_INTERVAL",
              "FUTURE_PAYMENT_NOT_ALLOWED_ERROR",
              "DISBURSEMENT_WITH_ZERO_LOAN_AMOUNT_NOT_ALLOWED",
              "MINIMUM_ARREARS_DAYS_NOT_REACHED",
              "ACCOUNT_ALREADY_UNLOCKED",
              "LOAN_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING",
              "RESCHEDULED_LOAN",
              "REFINANCED_LOAN",
              "INVALID_PRODUCT_WITH_FUNDING_SOURCE_DISABLED",
              "INVALID_ID",
              "FAILED_TO_GENERATE_IDENTIFIER",
              "INCONSISTENT_ACCOUNT_ID_WITH_ACCOUNT_HOLDER_TYPE",
              "INVALID_ASSET_NAME",
              "GUARANTOR_KEY_NOT_ALLOWED",
              "GUARANTOR_SAVINGS_KEY_NOT_ALLOWED",
              "INVALID_GUARANTOR_KEY",
              "INVALID_SAVINGS_ACCOUNT_KEY",
              "INVALID_GUARANTOR_STATE",
              "DUPLICATED_GUARANTOR_WITHOUT_SAVINGS_ACCOUNT",
              "DUPLICATED_SAVINGS_ACCOUNT",
              "INSUFFICIENT_SAVINGS_ACCOUNT_BALANCE",
              "INVALID_SAVINGS_ACCOUNT_STATE",
              "DUPLICATED_ASSET",
              "GUARANTOR_ASSET_NAME_NOT_ALLOWED",
              "TRANSACTION_NOT_FOUND",
              "INVALID_TRANSACTION_TYPE",
              "UNREVERSED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE",
              "INVALID_GUARANTOR_PERMISSION",
              "INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_ACCOUNTS",
              "MISSING_PENALTY_RATE",
              "INVALID_REPAYMENT_NUMBER",
              "MISSING_REPAYMENT_NUMBER",
              "INVALID_REPAYMENT_STATE",
              "CENTRE_MEETING_DAY_IN_NON_WORKING_DAY",
              "ARBITRARY_FEE_NOT_ALLOWED",
              "INVALID_REPAYMENT_ID",
              "ACCOUNT_BALANCE_OUTSIDE_CONSTRAINTS",
              "EDITING_DATE_NOT_IN_CENTER_MEETING_DAY",
              "CUSTOM_MADE_INSTALLMENT_ADDED_BEFORE_PAID_INSTALLMENT",
              "EDITING_REPAYMENTS_NOT_ALLOWED",
              "INTEREST_BALANCE_CANT_BE_EDITED_AT_SPECIFIED_DATE",
              "INVALID_DUE_DATE",
              "NEGATIVE_BALANCE",
              "NON_POSITIVE_TOTAL_BALANCE",
              "PARAMS_INCONSISTENT_WITH_PRODUCT_RULES",
              "INVALID_GRACE_PERIOD",
              "INVALID_ANTICIPATED_DISBURSEMENT",
              "INVALID_REPAYMENT_FREQUENCY",
              "INVALID_PRINCIPAL_REPAYMENT_INVERVAL",
              "INVALID_PRODUCT_STATE",
              "BALLOON_PAYMENTS_NOT_ALLOWED_BY_PRODUCT",
              "MANDATORY_PERIODIC_PAYMENT",
              "PERIODIC_PAYMENT_GREATER_THAN_LOAN_AMOUNT",
              "MISSING_INTEREST_RATE_SPREAD_ON_PRODUCT",
              "FIRST_REPAYMENT_DATE_BEFORE_EXPECTED_DISBURSEMENT_DATE",
              "INVALID_PENALTY_RATE",
              "CANNOT_EDIT_SOLIDARITY_LOANS",
              "INVALID_INTEREST_SPREAD",
              "INVALID_PERIODIC_PAYMENT",
              "UNKNOWN_LOAN_ACCOUNT_ERROR",
              "MISSING_GROUP_ID",
              "INVALID_GROUP_ID",
              "INVALID_FULL_DETAILS",
              "INVALID_INDICATORS",
              "GROUP_NOT_FOUND",
              "INVALID_PARAMATERS_FOR_PRODUCT",
              "INVALID_USER_WHO_APPROVED_THE_LOAN_CANNOT_DISBURSE_IT",
              "FOUR_EYES_PRINCIPLE_DISABLED_ON_GENERAL_SETTINGS",
              "USER_WHO_CREATED_OR_EDITED_THE_LOAN_ACCOUNT_CANNOT_APPROVE_IT",
              "INVALID_PRODUCT_CONFIGURATION_FOR_ADJUST_INTEREST_FOR_FIRST_INSTALLMENT_PARAMETER",
              "ADJUST_INTEREST_FOR_THE_FIRST_INSTALLMENT_WHEN_PERIOD_IS_DIFFERENT_THAN_THE_REPAYMENT_PERIOD_FEATURE_TOGGLE_IS_DISABLED",
              "ADJUST_TOTAL_DUE_FOR_INSTALLMENTS_WITH_DIFFERENT_INTERVAL_FEATURE_IS_DISABLED",
              "INVALID_PRODUCT_CONFIGURATION_FOR_ADJUST_TOTAL_DUE_FOR_INSTALLMENTS_WITH_DIFFERENT_INTERVAL_OPTION",
              "INVALID_CONFIGURATION_FOR_USE_INTEREST_ACCRUED_AS_TOTAL_DUE_WHEN_INTERVAL_IS_DIFFERENT_OPTION",
              "INVALID_GROUP_SIZE",
              "MULTIPLE_GROUP_MEMBERSHIP",
              "INVALID_GROUP_ROLE_NAME_KEY",
              "GROUP_ROLE_CLIENT_NOT_GROUP_MEMBER",
              "TRANSACTION_ALREADY_REVERSED",
              "INVALID_TRANSACTION_ID",
              "TRANSACTION_ID_AND_ACCOUNT_MISMATCH",
              "TRANSACTION_LOGGED_FOR_CLOSED_TILL",
              "TILL_BALANCE_ABOVE_MAX",
              "TILL_BALANCE_UNDER_MIN",
              "TRANSACTION_MADE_FROM_A_TRANSFER",
              "TRANSACTION_MADE_FROM_A_DISBURSEMENT",
              "DEPOSIT_ACCOUNT_HAS_MATURITY_DATE_SET",
              "BALANCE_IS_NULL",
              "GUARANTOR_NOT_ALLOWED_BY_PRODUCT",
              "COLLATERAL_NOT_ALLOWED_BY_PRODUCT",
              "CANNOT_CHANGE_TILL_BALANCE",
              "UNEXPECTED_ASYNC_TRANSACTION_ERROR",
              "DEDUCTED_FEES_TOTAL_MORE_THAN_LOAN_AMOUNT",
              "NO_CAPITALIZED_DISBURSEMENT_FESS_WHEN_ZERO_LOAN_AMOUNT",
              "DISBURSE_TO_SAVINGS_NOT_AVALAIBLE_WITH_INVESTOR_FUNDS",
              "TRANSACTION_CHANNEL_IS_MANDATORY",
              "TRANSACTION_CHANNEL_NOT_AVAILABLE_WHEN_DISBURSE_TO_SAVINGS",
              "GUARANTOR_CANNOT_BE_DELETED",
              "CUSTOM_AMOUNT_IS_MANDATORY",
              "INVALID_TRANSACTION_CHANNEL",
              "MISSING_FEE",
              "INCONSISTENT_ACCOUNT_FEE_WITH_PRODUCT_FEE",
              "FULL_TERM_FEE_CANNOT_BE_AMORTIZED_DUE_TO_APPLICATION_DATE",
              "CANNOT_USE_EFFECTIVE_INTEREST_RATE_FEE_WITHOUT_INTEREST_RATE_VALUE",
              "TRANSACTION_DETAILS_NOT_AVAILABLE_FOR_PRODUCT",
              "FEES_NOT_AVAILABLE_FOR_PRODUCT",
              "EXPECTED_DISBURSEMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT",
              "FIRST_REPAYMENT_DATE_NOT_AVAILABLE_FOR_PRODUCT",
              "LOAN_PRODUCT_PREPAYMENT_OPTIONS_MISMATCH",
              "INVALID_LAST_REPAYMENT_DUE_DATE_CHANGE_BECAUSE_ACCOUNT_HAS_FULL_TERM_FEE_APPLIED",
              "INVALID_HOLIDAY_SETUP",
              "REDRAW_DISABLED",
              "INSUFFICIENT_REDRAW_BALANCE",
              "INVALID_FEES_DETAILS",
              "PRODUCT_DOES_NOT_ALLOW_WITHDRAWAL_TRANSACTIONS",
              "EXCESS_PAYMENT_MADE_AMOUNT",
              "PRODUCT_DOES_NOT_ALLOW_PAYMENT_MADE_TRANSACTIONS",
              "MISSING_FEE_KEY",
              "INVALID_FEE_KEY",
              "INCONSISTENT_FEE_AMOUNT_WITH_PRODUCT_FEE",
              "FEE_AMOUNT_MUST_BE_STRICTLY_POSITIVE",
              "REQUIRED_FEE_MISSING",
              "FEE_NOT_ACTIVE",
              "FEE_NOT_ALLOWED",
              "INCONSISTENT_FIRST_REPAYMENT_DATE_WITH_PRODUCT_OFFSET",
              "MISSING_ORIGINAL_TRANSACTION_ID",
              "NEGATIVE_LOAN_BALANCE",
              "REPAYMENT_WAS_FULLY_PAID",
              "REPAYMENT_HAS_INTEREST_APPLIED",
              "DUE_DATE_BEFORE_ACCOUNTING_CLOSURE",
              "DUE_DATE_BEFORE_LOGGED_TRANSACTION",
              "INVALID_PARENT_ACCOUNT_KEY",
              "AUTOMATICALLY_ADDED_INSTALLEMENTS_ARE_NOT_EDITABLE",
              "PURE_GRACE_INSTALLMENT_ARE_NOT_EDITABLE",
              "CUSTOM_PAYMENT_NOT_ALLOWED_BY_PRODUCT",
              "SAME_CUSTOM_PAYMENT_AMOUNT_TYPE_USED_MULTIPLE_TIMES",
              "CUSTOM_PAYMENT_AMOUNT_DIFFERENT_THAN_TOTAL_PAYMENT_AMOUNT",
              "ARREARS_TOLERANCE_PERIOD_OUTSIDE_CONSTRAINTS",
              "NEGATIVE_ARREARS_TOLERANCE_PERIOD",
              "REQUIRED_ARREARS_TOLERANCE_PERIOD_MISSING",
              "DUE_DATE_BEFORE_FEE_AMORTIZATION",
              "MAX_CLIENT_LIMIT_REACHED",
              "PENALTY_METHOD_NOT_ALLOWED_BY_PRODUCT",
              "CANNOT_REVERSE_TECHNICAL_OVERDRAFT",
              "INSUFFICIENT_BALANCE",
              "INVALID_PRODUCT_TYPE",
              "DUPLICATE_DISBURSEMENT_FEE",
              "NO_DUE_AMOUNT_TO_BE_PAID",
              "INVALID_AMORTIZATION_PERIOD",
              "UNKNOWN_GROUP_ERROR",
              "MISSING_CLIENT_ID",
              "INVALID_CLIENT_ID",
              "INVALID_CLIENT_KEY",
              "INVALID_PICTURE_KEY",
              "INVALID_SIGNATURE_KEY",
              "INVALID_CLIENT_STATE",
              "INVALID_CLIENT_ROLE_KEY",
              "INCONSISTENT_CLIENT_ROLE_WITH_CLIENT_TYPE",
              "INVALID_DEPENDENT_CUSTOM_FIELD_VALUE",
              "INVALID_BIRTH_DATE",
              "DUPLICATE_CLIENT",
              "INVALID_CLIENT_STATE_TYPE",
              "INVALID_CLIENT_STATE_TRANSITION",
              "CLIENT_IS_MEMBER_OF_A_GROUP",
              "CLIENT_IS_GUARANTOR",
              "CLIENT_HAS_ACCOUNTS",
              "CLIENT_ID_ALREADY_IN_USE",
              "GROUP_ID_ALREADY_IN_USE",
              "GROUP_HAS_ACCOUNTS",
              "MISSING_CLIENT_BASIC_DETAILS",
              "EMAIL_ADDRESS_SIZE_INVALID",
              "UNKNOWN_CLIENT_ERROR",
              "INVALID_SAVINGS_ACCOUNT_ID",
              "BALANCE_BELOW_ZERO",
              "MISSING_SAVINGS_ID",
              "BACKDATE_BEFORE_ACTIVATION",
              "BACKDATE_BEFORE_OTHER_OPERATION",
              "BACKDATE_SET_IN_THE_FUTURE",
              "INVALID_DEPOSIT_AMOUNT",
              "INVALID_DEPOSIT_ACCOUNT_STATE",
              "LOCKED_SAVINGS_AMOUNT",
              "SAVINGS_PRODUCT_MISMATCH",
              "SAVINGS_ACCOUNT_INVALID",
              "ACCOUNT_ID_ALREADY_IN_USE",
              "PRODUCT_DOESNT_ALLOW_WITHHOLDING_TAXES",
              "INVALID_WITHHOLDING_TAX_SOURCE_TYPE",
              "INVALID_INTEREST_CHARGE_FREQUENCY",
              "INVALID_INTEREST_CHARGE_FREQUENCY_COUNT",
              "INVALID_SAVINGS_ACCOUNT_STATE_TRANSITION",
              "MAXIMUM_WITHDRAWAL_AMOUNT_EXCEEDED",
              "MAXIMUM_OVERDRAFT_LIMIT_EXCEEDED",
              "OVERDRAFT_NOT_ALLOWED",
              "MISSING_INTEREST_RATE_FROM_SAVINGS_PRODUCT",
              "POSITIVE_SECURED_AMOUNT",
              "MINIMUM_OPENING_BALANCE_ACHIEVED",
              "ACCOUNT_HAS_TRANSACTIONS",
              "INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY",
              "INVALID_OVERDRAFT_INTEREST_CHARGE_FREQUENCY_COUNT",
              "RECOMMENDED_DEPOSIT_AMOUNT_INVALID",
              "MISSING_TYPE_PARAMETER",
              "INVALID_DEPOSIT_ACCOUNT_ID",
              "PRODUCT_SPECIFIES_OVERDRAFT_ALLOWED",
              "PRODUCT_SPECIFIES_OVERDRAFT_NOT_ALLOWED",
              "CURRENT_ACCOUNT_PRODUCT_DISABLED",
              "FIXED_DEPOSIT_PRODUCT_DISABLED",
              "COLLATERAL_FEATURE_DISABLED",
              "CREDIT_OFFICER_DISABLED",
              "DATA_EXPORT_DISABLED",
              "MAX_WITHDRAWAL_CANNOT_BE_NEGATIVE",
              "WITHHOLDING_TAXES_DISABLED",
              "FUNDING_SOURCE_DISABLED",
              "RESET_DATA_DISABLED",
              "SOLIDARITY_GROUP_DISABLED",
              "SAVINGS_PLAN_DISABLED",
              "SAVINGS_ACCOUNT_DISABLED",
              "REVOLVING_CREDIT_DISABLED",
              "INDICATORS_DISABLED",
              "FIXED_TERM_LOAN_DISABLED",
              "FLAT_INTEREST_DISABLED",
              "EFFECTIVE_INTEREST_RATE_DISABLED",
              "RISK_REPORTING_DISABLED",
              "WITHDRAWAL_PAST_OVERDRAFT_CONSTRAINTS",
              "INTEREST_FREE_LOAN_DISABLED",
              "MISSING_DEPOSIT_ID",
              "INVALID_DEPOSIT_ACCOUNT_NAME",
              "INTEREST_RATE_REVIEW_UNIT_NOT_AVAILABLE_FOR_FIXED_INTEREST_SOURCE",
              "INTEREST_RATE_REVIEW_COUNT_NOT_AVAILABLE_FOR_FIXED_INTEREST_SOURCE",
              "DEPOSIT_PRODUCT_IS_LINKED_BY_LOAN_PRODUCT",
              "ACTIVATION_DATE_BEFORE_INTEREST_SET_EXTERNALLY_START_DATE",
              "BACKDATE_EXCEEDS_PROFIT_SHARING_LIMIT",
              "INVALID_REVOLVING_SETTINGS",
              "INTEREST_ACCOUNT_SETTINGS_AVAILABILITY_NOT_FOUND",
              "INVALID_ACCOUNT_OWNERSHIP_TRANSFER",
              "INVALID_OPERATION_ON_TRANSFERRED_ACCOUNT",
              "UNKNOWN_SAVINGS_ACCOUNT_ERROR",
              "TRANSFER_CANT_BE_MADE",
              "CANNOT_MAKE_TRANSFER_TO_SOURCE_ACCOUNT",
              "INVALID_TARGET_ACCOUNTING_STATE",
              "INVALID_TARGET_ACCOUNTING_CURRENCY",
              "TRANSFER_AMOUNT_IS_NOT_POSITIVE",
              "INVALID_PRODUCT_ID",
              "TRANSFER_AS_POSTDATED_PAYMENT",
              "UNDEFINED_EXCHANGE_RATE_FOR_CURRENCY",
              "INVALID_PRODUCT_KEY",
              "CANNOT_MAKE_TRANSFER_TO_FUNDED_ACCOUNTS_WITH_ACCOUNTING_ENABLED",
              "LINKED_ACCOUNT_DELETION_ERROR",
              "ACCOUNT_HAS_REMAINING_BALANCE",
              "CANNOT_DISBURSE_LOCKED_ACCOUNTS",
              "DISBURSEMENT_DATE_AFTER_LAST_REPAYMENT_DUE_DATE",
              "INTEREST_RATE_NOT_AVAILABLE_FOR_INDEXED_RATES",
              "INTEREST_SPREAD_NOT_AVAILABLE_FOR_FIXED_RATES",
              "TRANCHES_EXPECTED_DISBURSMENT_DATES_NOT_ORDERED",
              "TRANCHES_NOT_ALLOWED",
              "TRANCHES_NOT_DEFINED",
              "MORE_TRANCHES_THAN_ALLOWED",
              "TOTAL_TRANCHES_AMOUNT_MORE_THAN_LOAN_AMOUNT",
              "TOTAL_AMOUNT_NOT_EQUAL_WITH_LOAN_AMOUNT",
              "TRANCHE_AMOUNT_SHOULD_BE_STRICT_POSITIVE",
              "INVALID_TRANCHE_KEY",
              "CANNOT_MODIFY_DISBURSED_TRANCHE",
              "DISBURSEMENT_DATE_BEFORE_NOT_REVERSED_TRANSACTION",
              "CANNOT_MODIFY_TRANCHES_ON_RESCHEDULED_REFINANCED_ACCOUNTS",
              "ALL_TRANCHES_ALREADY_DISBURSED",
              "TRANCHES_CANNOT_BE_EDITED",
              "INTEREST_RATE_SHOULD_BE_ZERO_OR_EMPTY",
              "INTEREST_SPREAD_SHOULD_BE_ZERO_OR_EMPTY",
              "INCONSISTENT_DATE_WITH_NEXT_TRANCHE",
              "INTEREST_RATE_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES",
              "INTEREST_SPREAD_CANNOT_BE_EDITED_FOR_TIERED_INTEREST_RATES",
              "INVALID_INTEREST_RATE_TIERS",
              "INVALID_OVERDRAFT_INTEREST_RATE_TIERS",
              "NEGATIVE_LOCKED_BALANCE",
              "PAY_OFF_INVALID_INTEREST_PAID",
              "PAY_OFF_INVALID_FEES_PAID",
              "PAY_OFF_INVALID_PENALTY_PAID",
              "INTEREST_TYPE_NOT_ALLOWED",
              "MISSING_CONTRACT",
              "MISSING_TRANCHE",
              "MISSING_TRANCHE_FEE",
              "CANNOT_ADD_NEW_TRANCHE",
              "INVALID_GL_ACCOUNT_ID",
              "INVALID_GL_ACCOUNT_TYPE",
              "JOURNAL_ENTRY_BEFORE_CLOSURE",
              "DEBITS_DO_NOT_MATCH_CREDITS",
              "JOURNAL_ENTRY_DATE_NOT_DEFINED",
              "GL_ACCOUNT_IS_HEADER",
              "GL_ACCOUNT_DOES_NOT_SUPPORT_MANUALLY_ENTRIES",
              "NO_INTER_BRANCH_GL_ACCOUNT",
              "INVALID_JOURNAL_TRANSACTION_ID",
              "DUPLICATE_JOURNAL_TRANSACTION_ID",
              "INVALID_ACCOUNTING_DATE_ORDER",
              "INVALID_ACCOUNTING_DATE_RANGE",
              "JOURNAL_ENTRY_DATE_IN_THE_FUTURE",
              "JOURNAL_ENTRY_DATE_IN_THE_PAST_BEFORE_THE_ALLOWED_LIMIT",
              "INVALID_BOOKING_DATE",
              "BOOKING_DATE_BEFORE_VALUE_DATE",
              "FROM_CURRENCY_NOT_DEFINED",
              "FROM_CURRENCY_IS_NOT_BASE_CURRENCY",
              "FROM_CURRENCY_DOES_NOT_EXIST",
              "CURRENCY_SHOULD_BE_DIFFERENT_THEN_ORGANISATION_BASE_CURRENCY",
              "START_DATE_SHOULD_BE_AFTER_LAST_ACCOUNTING_RATE",
              "RATE_SHOULD_BE_POSITIVE",
              "FUTURE_START_DATE_NOT_ALLOWED",
              "ACCOUNTING_IN_MULTICURRENCY_SHOULD_BE_ENABLED",
              "GL_JOURNAL_ENTRIES_USING_PREV_ACCOUNTING_RATE_SHOULD_NOT_EXISTS",
              "ACCOUNTING_REPORT_NOT_FOUND",
              "GL_ACCOUNT_CODE_IS_NOT_UNIQUE",
              "INVALID_CURRENCY_CODE",
              "CURRENCY_NOT_MATCHING",
              "ACCOUNT_CURRENCY_NOT_MATCH",
              "MISSING_CURRENCY",
              "INVALID_EXCHANGE_RATE_VALUE",
              "INCONSISTENT_START_DATE_WITH_TRANSACTIONS",
              "BUY_RATE_GREATER_THAN_SELL_RATE",
              "RATE_NOT_SET",
              "RATE_TO_SAME_CURRENCY",
              "DATE_BEFORE_LAST_RATE_DATE",
              "START_DATE_IN_FUTURE",
              "DATE_ON_LAST_RATE_DATE",
              "DELETE_BASE_CURRENCY",
              "CURRENCY_ASSOCIATED_WITH_TRANSACTION",
              "CURRENCY_USED_IN_PRODUCT_OR_GL_ACCOUNT",
              "UNDEFINED_ACCOUNTING_RATE_FOR_CURRENCY",
              "ACCOUNTING_TRANSACTION_CHANNEL_CURRENCY_MISMATCH",
              "ACCOUNTING_CURRENCIES_NOT_MATCHING",
              "TRANSACTION_AND_ACCOUNT_CURRENCY_MISMATCH",
              "CURRENCY_NOT_FOUND",
              "INVALID_USER_NAME",
              "INVALID_USER_ID",
              "INVALID_CREDIT_OFFICER_KEY",
              "INCONSISTENT_CREDIT_OFFICER_WITH_BRANCH",
              "MISSING_CREDIT_OFFICER_KEY",
              "MISSING_BRANCH_KEY",
              "MISSING_CENTRE_KEY",
              "INVALID_USER_ROLE_KEY",
              "USER_IS_LOCKED",
              "INVALID_PASSWORD",
              "EMAIL_ADDRESS_ALREADY_REGISTERED_WITH_ANOTHER_USER",
              "EMAIL_ADDRESS_FORMAT_IS_INVALID",
              "USERNAME_ALREADY_EXISTS",
              "MAX_USER_LIMIT_REACHED",
              "CANNOT_MANAGE_USER_BRANCH",
              "NOT_ENOUGH_PRIVILDGES_FOR_CHANGING_USER_SETTINGS",
              "ONLY_ONE_ROLE_ALLOWED",
              "INVALID_TRANSACTION_LIMIT_TYPE",
              "NOT_ENOUGH_PRIVILEDGES_TO_CREATE_ADMIN_USER",
              "CANNOT_HAVE_NEGATIVE_TRANSACTION_LIMITS",
              "INVALID_VALUE_FOR_MANAGED_BRANCHES",
              "CANNOT_HAVE_ADMIN_WITHOUT_FULL_BRANCHES_ACCESS",
              "CANNOT_HAVE_OFFICER_ADMIN_WITHOUT_MANAGE_OTHER_ENTITIES_ACCESS",
              "INCONSISTENT_CAN_MANAGE_BRANCHES_WITH_CAN_MANAGE_ENTITIES",
              "MISSING_EMAIL_ADDRESS",
              "MISSING_MOBILE_PHONE",
              "CANNOT_UPDATE_INACTIVE_OR_LOCKED_USERS",
              "ROLE_AND_ACCESS_MISMATCH",
              "MISSING_ACCESS_RIGHTS",
              "PHONE_NUMBER_IS_MISSING",
              "TWO_FACTOR_AUTHENTICATION_NOT_AVAILABLE",
              "EDIT_USERNAME_BY_NON_ADMIN",
              "INVALID_ACCESS_RIGHTS",
              "MISSING_ASSIGNED_BRANCH",
              "CANNOT_DELETE_LAST_USER",
              "CANNOT_DEACTIVATE_LAST_USER",
              "CANNOT_HAVE_ADMIN_WITHOUT_MAMBU_ACCESS",
              "CANNOT_UPDATE_FEDERATED_USER",
              "CANNOT_UPDATE_SUPPORT_USER",
              "CANNOT_CHANGE_ROLE_FOR_FEDERATED_USER",
              "CANNOT_LOCK_USER_FROM_API",
              "CANNOT_DELETE_SUPPORT_USER_BY_REGULAR_USER",
              "CANNOT_DELETE_ADMIN_USER",
              "CANNOT_DELETE_USER_WITH_PERFORMED_ACTIVITIES",
              "CANNOT_DELETE_SELF",
              "CANNOT_DEACTIVATE_SELF",
              "CANNOT_UPDATE_DELIVERY_USER",
              "CANNOT_DELETE_DELIVERY_USER_BY_REGULAR_USER",
              "CANNOT_DELETE_USED_USER",
              "CANNOT_CHANGE_BRANCH_IN_FEDERATED_CONTEXT",
              "INVALID_BRANCH_ID",
              "INVALID_BRANCH_KEY",
              "INVALID_MANAGED_BRANCH_ID",
              "BRANCH_IS_NOT_ACTIVE",
              "EMPTY_BRANCH_NAME",
              "ENCODED_KEY_NOT_NULL",
              "INVALID_CENTRE_KEY",
              "INVALID_CENTRE_ID",
              "INCONSISTENT_CENTRE_WITH_BRANCH",
              "CENTRE_IS_NOT_ACTIVE",
              "INCONSISTENT_VALUE_WITH_CUSTOM_FIELD_TYPE",
              "REQUIRED_CUSTOM_FIELD_MISSING",
              "INVALID_CUSTOM_FIELD_ID",
              "MAX_CUSTOM_FIELD_VALUE_LENGTH_EXCEEDED",
              "INVALID_CUSTOM_FIELD_ENTITY_KEY",
              "VIEW_TYPE_NOT_MATCHING_RESOURCE",
              "VIEW_NOT_ACCESSIBLE_FOR_USER",
              "CUSTOM_FIELD_DEACTIVATED",
              "CUSTOM_FIELD_REQUIRED",
              "CUSTOM_FIELD_NOT_AVAILABLE_FOR_ENTITY",
              "INVALID_CUSTOM_FIELD_LINKED_ENTITY_KEY",
              "DEPENDENT_CUSTOM_FIELD_VALUE_REQUIRED",
              "INCONSISTENT_VALUE_WITH_SET_TYPE",
              "GROUPED_INDEXES_NOT_CONSECUTIVE",
              "TO_MANY_VALUES_FOR_SAME_GROUPED_CUSTOM_FIELD",
              "INVALID_CUSTOM_FIELD_GROUP_INDEX",
              "INCONSISTENT_CUSTOM_FIELD_VALUE_WITH_PATTERN",
              "DUPLICATE_CUSTOM_FIELD_VALUES",
              "CUSTOM_FIELD_SET_CHANGE_NOT_ALLOWED",
              "CUSTOM_FIELD_SET_NULL",
              "CUSTOM_FIELD_USAGE_CHANGE_NOT_ALLOWED",
              "DATATYPE_OR_TYPE_CHANGED",
              "CUSTOM_FIELD_NAME_NOT_UNIQUE",
              "ENCODED_KEY_MUST_BE_EMPTY_ON_CREATE",
              "CUSTOM_FIELDS_NEED_CHANNEL_PROVIDED",
              "DUPLICATE_UNIQUE_VALUE",
              "REFERRED_IN_CUSTOM_FIELD",
              "TRANSACTION_TYPE_NOT_ACCEPTING_CUSTOM_FIELDS",
              "INVALID_CUSTOM_FIELD_KEY",
              "BUILT_IN_CUSTOM_FIELD_CHANGE_NOT_ALLOWED",
              "EITHER_LABEL_ID_OR_LABEL_VALUE_MUST_BE_PROVIDED_FOR_SELECTION",
              "INVALID_SELECTION_ID",
              "INVALID_ID_DOCUMENT",
              "REQUIRED_ID_DOCUMENT_MISSING",
              "ADDING_OTHER_ID_DOCUMENTS_IS_DISABLED",
              "INVALID_ID_DOCUMENT_TEMPLATE_KEY",
              "CORRUPTED_FILE",
              "DOCUMENT_CANNOT_BE_DELETED",
              "INVALID_DOCUMENT_ID",
              "INVALID_FILE_EXTENSION",
              "FILE_EXTENSION_NOT_ALLOWED",
              "INCONSISTENT_EXTENSION_WITH_FILE_CONTENT",
              "MALWARE_CONTENT_DETECTED",
              "INVALID_FILENAME",
              "NO_PROFILE_PICTURE_SET",
              "NO_PROFILE_SIGNATURE_SET",
              "HAS_DOCUMENT_ATTACHED",
              "UNSUPPORTED_IMAGE_TYPE",
              "INVALID_TASK_ID",
              "INVALID_TASK_STATE_AND_COMPLETION_DATE",
              "INVALID_TASK_FIELD_CHANGE",
              "INVALID_TASK_STATUS",
              "INVALID_TASK_TITLE_LENGTH",
              "HAS_TASK_ATTACHED",
              "EDITING_VIEW_TYPE_NOT_ALLOWED",
              "INVALID_CUSTOM_FIELD_SET_ID",
              "TRANSACTION_LINKED_TO_A_REPAYMENT",
              "ANTIVIRUS_NOT_AVAILABLE",
              "INVALID_BACKDATED_TRANSACTION",
              "CUSTOM_FIELD_LIMIT_EXCEEDED",
              "CONCURRENT_UPDATE",
              "MISSING_FROM_DATE",
              "MISSING_TO_DATE",
              "MAXIMUM_ONE_FILTER_ALLOWED",
              "TILL_BALANCE_OUTSIDE_CONSTRAINTS",
              "TRANSACTION_IS_NOT_WITHIN_CHANNEL_CONSTRAINTS",
              "INVALID_ADDRESS",
              "CLIENT_ROLE_DOES_NOT_ALLOW_ADDRESS",
              "ADDRESS_CHANGE_NOT_ALLOWED",
              "INVALID_ADDRESS_LINE1",
              "INVALID_ADDRESS_LINE2",
              "INVALID_CITY",
              "INVALID_REGION",
              "INVALID_POSTCODE",
              "INVALID_COUNTRY",
              "DATA_IMPORT_IN_PROGRESS",
              "DATABASE_BACKUP_IN_PROGRESS",
              "DATABASE_BACKUP_NOT_FOUND",
              "CLIENT_IN_MIGRATION",
              "INVALID_NUMBER_OF_SHEETS",
              "UNDEFINED_SHEET",
              "WRONG_SHEET_POSITION",
              "INVALID_NUMBER_OF_COLUMNS_FOR_SHEET",
              "UNDEFINED_COLUMN",
              "WRONG_COLUMN_POSITION",
              "INVALID_ASSIGNMENT",
              "INVALID_INDEX_RATE_SOURCE_ID",
              "START_DATE_BEFORE_LAST_INDEX_REVIEWD_DATE",
              "INVALID_INDEX_RATE_START_DATE",
              "NO_INDEX_RATE_AVAILABLE",
              "NO_TAX_RATE_AVAILABLE",
              "INVALID_INDEX_RATE_SOURCE",
              "INDEX_RATE_SOURCE_IN_USE",
              "NON_TAXABLE_FEE_NOT_ALLOWED",
              "NON_TAXABLE_FEE_NOT_ALLOWED_ON_FIXED_PRODUCT",
              "INVALID_INDEX_RATE_ID",
              "DUPLICATE_INDEX_RATE_ID",
              "DUPLICATE_INDEX_RATE_SOURCE_ID",
              "INCONSISTENT_GROUP_MEMBER_PARENT_KEY",
              "INCONSISTENT_GROUP_MEMBER_ENCODED_KEY",
              "INCONSISTENT_GROUP_ROLE_PARENT_KEY",
              "INCONSISTENT_GROUP_ROLE_ENCODED_KEY",
              "PRODUCT_LINE_OF_CREDIT_AFFILIATION_CONSTRAINT_MISMATCH",
              "DISBURSEMENT_DATE_BEFORE_LINE_OF_CREDIT_START_DATE",
              "MATURITY_DATE_AFTER_LINE_OF_CREDIT_END_DATE",
              "LINE_OF_CREDIT_AMOUNT_EXCEEDED",
              "LINE_OF_CREDIT_REQUIRED_EXCEPTION",
              "OVERDRAFT_EXPIRY_DATE_AFTER_LINE_OF_CREDIT_END_DATE",
              "CANNOT_CREATE_ACCOUNT_WITH_LINE_OF_CREDIT",
              "LINE_OF_CREDIT_REQUIRES_OVERDRAFT_MAX_LIMIT",
              "LINE_OF_CREDIT_REQUIRES_OVERDRAFT_EXPIRY_DATE",
              "INVALID_LINE_OF_CREDIT_ID",
              "ACCOUNT_ALREADY_ON_LINE_OF_CREDIT",
              "INCONSISTENT_LINE_OF_CREDIT_CLIENT_WITH_ACCOUNT_OWNER",
              "ACCOUNT_IS_NOT_PART_OF_LINE_OF_CREDIT",
              "INVALID_LINE_OF_CREDIT_STATE",
              "HAS_LINES_OF_CREDIT",
              "LINE_OF_CREDIT_ID_ALREADY_IN_USE",
              "EXPIRE_DATE_BEFORE_START_DATE",
              "INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_LINES_OF_CREDIT",
              "MISSING_LINE_OF_CREDIT_START_DATE",
              "MISSING_LINE_OF_CREDIT_EXPIRE_DATE",
              "MISSING_LINE_OF_CREDIT_AMOUNT",
              "LINE_OF_CREDIT_AMOUNT_NOT_STRICTLY_POSITIVE",
              "INVALID_ACCOUNT_HOLDER_ID",
              "MISSING_ACCOUNT_HOLDER_KEY",
              "MISSING_ACCOUNT_HOLDER_TYPE",
              "ACCOUNT_HOLDER_NOT_FOUND",
              "INVALID_ACCOUNT_HOLDER_STATE",
              "NO_ORGANIZATION_ICON",
              "NO_ORGANIZATION_LOGO",
              "MISSING_TEXT",
              "MAX_TEXT_LENGTH_EXCEEDED",
              "NUM_INSTALLMENTS_NOT_AVAILABLE_FOR_REVOLVING_CREDIT",
              "PRINCIPAL_PAYMENT_INCONSISTENT_WITH_PRODUCT",
              "SCHEDULE_PREVIEW_NOT_AVAILABLE_FOR_REVOLVING_CREDIT",
              "AMOUNT_MORE_THAN_CURRENT_AVAILABLE_AMOUNT",
              "INCONSISTENT_WITH_CENTRE_MEETING_DAY",
              "FIELD_IS_NOT_EDITABLE",
              "RESCHEDULED_REPAYMENT_BEFORE_DISBURSEMENT_DATE",
              "INVALID_DISBURSEMENT_DATE_FOR_REVOLVING_PRODUCT",
              "FIELD_NOT_ALLOWED",
              "OPERATION_NOT_ALLOWED_ON_FIELD",
              "INVALID_FILTER_VALUES",
              "INVALID_FILTER_SELECTION",
              "INVALID_FILTER_ELEMENT",
              "INVALID_FILTER_VALUE",
              "INVALID_FILTER_SECOND_VALUE",
              "TOO_MANY_FILTERS_PROVIDED",
              "INVALID_FILTER_DATA_ITEM_TYPE",
              "INSUFFICIENT_FUNDS_ACCOUNT_BALANCE",
              "INSUFFICIENT_FUNDS_TOTAL_AMOUNT",
              "FUNDS_NOT_ALLOWED",
              "FUNDING_AMOUNT_MUST_BE_STRICTLY_POSITIVE",
              "FUNDER_INTEREST_COMMISSION_CONSTRAINTS_VALIDATION",
              "MISSING_FUNDER_INTEREST_COMMISSION",
              "INVALID_FUND_ENCODED_KEY",
              "INVESTORS_TOTAL_AMOUNT_MORE_THAN_LOAN_AMOUNT",
              "INVALID_FUND_ID",
              "INACTIVE_FUND_ID",
              "INVALID_FUNDED_ACCOUNT_STATE",
              "FUND_SELL_WITH_NO_PURCHASES",
              "FUND_OVERSELL",
              "INVALID_SELLER_FUND_AMOUNT",
              "INVALID_SELLER_FUND_STATE",
              "INVALID_SELLER_FUNDING_ACCOUNT",
              "INVALID_INVESTMENT_PERCENTAGES_FOR_AMOUNTS",
              "FUND_SELF_SELL",
              "INVALID_BUYER_FUNDING_ACCOUNT",
              "DUPLICATE_BUYER_FUNDING_ACCOUNT",
              "INVALID_BUYER_FUND_AMOUNT",
              "INVALID_FUND_PURCHASE_PRICE",
              "INSUFFICIENT_BUYER_FUNDING_ACCOUNT_FUNDS",
              "LOAN_ACCOUNT_NOT_FUNDED_BY_SAVINGS_ACCOUNT",
              "INVALID_INTEREST_RATE_AGAINST_INTEREST_COMMISSION",
              "INVALID_SAVINGS_ACCOUNT_TYPE_FOR_FUNDING",
              "DUPLICATED_SAVINGS_ACCOUNT_FOR_FUNDING",
              "INVALID_FIXED_DAYS_OF_MONTH",
              "INVALID_SORTING_COLUMN",
              "COLUMN_NOT_SORTABLE",
              "INVALID_SORTING_ORDER",
              "ACCOUNT_TYPE_DOES_NOT_ALLOW_FIELD",
              "INVALID_GUARANTY_ENCODED_KEY",
              "INVALID_GUARANTY_TYPE",
              "INVALID_GUARANTOR_TYPE",
              "GUARANTY_KEY_TYPE_MISMATCH",
              "LOAN_ACCOUNT_NOT_FUNDED_BY_DEPOSIT_ACCOUNT",
              "ORIGINAL_AMOUNT_AND_ORIGINAL_CURRENCY_NOT_ALLOWED",
              "INVALID_TEMPLATE_ID",
              "INVALID_TEMPLATE_TYPE",
              "MISSING_FIXED_DAYS_OF_MONTH",
              "FIXED_DAYS_OF_MONTH_NOT_ALLOWED",
              "REPAYMENT_FREQUENCY_NOT_ALLOWED",
              "REPAYMENT_PERIOD_COUNT_NOT_ALLOWED",
              "APPLIED_INTEREST_BALANCE_CANNOT_BE_REALLOCATED",
              "INVALID_NEW_TOTAL_LOAN_AMOUNT",
              "NEGATIVE_WRITE_OFF_AMOUNT",
              "POSITIVE_REDRAW_BALANCE_WITH_DUE_INSTALLMENTS",
              "CAPITALIZED_AMOUNTS_NOT_ALLOWED_DUE_TO_DIFFERENT_ACCOUNTING",
              "TOP_UP_AMOUNT_IS_MANDATORY",
              "RESTRUCTURE_DETAILS_ARE_MANDATORY",
              "NEGATIVE_TOP_UP_AMOUNT",
              "WRITE_OFF_AMOUNT_MORE_THAN_BALANCE_AMOUNT",
              "CANNOT_REFINANCE_REVOLVING_CREDIT_LOAN",
              "POSITIVE_CAPITALIZED_AMOUNTS_FOR_LOAN_FUNDED_NOT_ALLOWED",
              "WRITE_OFF_AMOUNT_FOR_LOAN_FUNDED_DIFFERENT_BY_BALANCE_AMOUNT",
              "CURRENCY_NOT_AVAILABLE_FOR_PRODUCT",
              "CURRENCY_NOT_EDITABLE",
              "TELLER_CANNOT_POST_TRANSACTION_IN_MULTI_CURRENCY",
              "NOT_ENOUGH_PRINCIPAL_TO_CONTINUE_FEE_AMORTIZATION",
              "MISSING_TEMPLATE_KEY",
              "TELLER_CANNOT_POST_TRANSACTION_WITHOUT_OPENED_TILL",
              "SETTINGS_ONLY_AVAILABLE_FOR_REVOLVING_CREDIT_ACCOUNTS",
              "INCONSISTENT_FLAT_AMOUNT_WITH_PRODUCT_CONSTRAINTS",
              "INCONSISTENT_PERCENTANGE_WITH_PRODUCT_CONSTRAINTS",
              "AMOUNT_REQUIRED_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD",
              "PERCENTAGE_REQUIRED_FOR_PRINCIPAL_PAYMENT_PERCENTAGE_METHOD",
              "AMOUNT_ONLY_AVAILABLE_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD",
              "PERCENTAGE_ONLY_AVAILABLE_FOR_PRINCIPAL_PERCENTAGE_METHOD",
              "INVALID_PRINCIPAL_PAYMENT_FLAT_AMOUNT_WITH_DECIMALS",
              "INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_VALUE",
              "CANT_EDIT_LOCKED_OPERATIONS_IN_LOCKED_CAPPING_STATE",
              "CANT_UNLOCK_WHEN_INCOME_BALANCE_IS_OVER_PRINCIPAL_CAPPING_CONSTRAINTS",
              "CANNOT_BULK_REVERSE_INTERNAL_TRANSFER_REPAYMENT",
              "CANNOT_BULK_REAPPLY_TRANSACTION_BECAUSE_LOCKED_TRANSACTIONS_LOGGED_AFTER_IT",
              "CANNOT_BULK_REAPPLY_POSTDATED_REPAYMENTS",
              "CANNOT_BULK_REVERSE_ACTIVATION_TRANSACTION",
              "CLOSURE_DATE_AFTER_MAX_ALLOWED_UNDO_CLOSURE_PERIOD",
              "CLOSURE_DATE_BEFORE_GL_ACCOUNT_CLOSURE",
              "MISSING_ORGANIZATION_INTEREST_COMMISSION",
              "INSUFFICIENT_TRANSACTION_AMOUNT",
              "CANNOT_REVERSE_INTEREST_ON_DISBURSEMENT",
              "TRANSACTION_TYPE_IS_IRREVERSIBLE",
              "INTEREST_APPLIED_WITH_NULL_AMOUNT",
              "CANNOT_REVERSE_OFFSET_DEPOSIT_TRANSACTION",
              "CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_ID",
              "CANNOT_LOCK_CAPPING_ACCOUNT_INVALID_ACCOUNT_STATE_FOR_LOCK",
              "INCOME_BALANCE_CONSTRAINTS_EXCEEDED",
              "CANNOT_BULK_REVERSE_LOAN_FRACTION_SOLD",
              "LATE_FEE_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT",
              "INVALID_ORGANIZATION_INTEREST_COMMISSION",
              "ACCOUNT_ALREADY_LOCKED",
              "CANNOT_BULK_ADJUST_ACTIVATION_TRANSACTION",
              "PAYMENT_DUE_FEE_APPLIED_ON_DUE_DATES_TRANSACTIONS_LOGGED_AFTER_REPAYMENT_TO_REAPPLY_ON_FIXED_ACCOUNT",
              "REALLOCATION_CAN_BE_DONE_ONLY_ON_FUTURE_REPAYMENTS",
              "REALLOCATION_NOT_ALLOWED_ON_GRACE_INSTALLMENTS",
              "INVALID_PRINCIPAL_PAYMENT_METHOD",
              "CANT_EDIT_LOCKED_ACCOUNT_DUE_AMOUNT_TYPE",
              "CANT_LOCK_MORTGAGES_ACCOUNT",
              "REPAYMENT_VALUE_CHANGE_NOT_ALLOWED",
              "NON_DYNAMIC_ACCOUNT_INSTALLMENT_DELETION_NOT_ALLOWED",
              "NON_DYNAMIC_ACCOUNT_INSTALLMENT_ADDITION_NOT_ALLOWED",
              "INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED",
              "INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_LOAN_PRODUCT_TYPE",
              "INSTALLMENT_WITH_INTEREST_APPLIED_CANNOT_BE_EDITED",
              "UNABLE_TO_DETERMINE_DELETED_REPAYMENTS",
              "PAID_OR_PURE_GRACE_INSTALLMENT_CANNOT_BE_DELETED",
              "UNABLE_TO_DELETE_NON_CUSTOM_ADDED_REPAYMENT_FOR_REVOLVING_ACCOUNT",
              "INVALID_NUMBER_OF_INSTALLMENTS",
              "INVALID_PRINCIPAL_AMOUNT_WITH_DECIMALS",
              "INCONSISTENT_WITH_LINE_OF_CREDIT_VALID_UNTIL_DATE",
              "DUE_DATES_NOT_UNIQUE",
              "NON_ZERO_PRINCIPAL_REPAYMENT_CANNOT_BE_DELETED",
              "NON_DYNAMIC_ACCOUNT_REPAYMENT_DELETION_NOT_ALLOWED",
              "INVALID_LOAN_ACCOUNT_STATE_FOR_FUNDS_EDIT",
              "ENTRY_DATE_AFTER_MATURITY_DATE_WITH_LATE_FEES_AND_BULK_REVERSAL",
              "DIFFERENT_ACCOUNTING_STATE_BETWEEN_INVOLVED_PRODUCTS",
              "ACCOUNT_ALREADY_LINKED",
              "PRODUCT_DOES_NOT_ALLOW_LINKING",
              "UNLINKABLE_SAVINGS_PRODUCT",
              "INVALID_SAVINGS_ACCOUNT_HOLDER",
              "LINK_BETWEEN_ACCOUNTS_DOES_NOT_EXIST",
              "NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_EDITED",
              "NON_NATIVE_GRACE_INSTALLMENT_CANNOT_BE_DELETED",
              "INSUFFICIENT_ACCOUNT_BALANCE",
              "INVALID_SAVINGS_ACCOUNT_TYPE",
              "MATURITY_PERIOD_ALREADY_STARTED",
              "LOAN_PRODUCT_PRINCIPAL_PAID_INSTALLMENT_STATUS_MISMATCH",
              "CANNOT_DELETE_LINK_FOR_ACTIVATED_OFFSET_LOAN",
              "INVALID_LANGUAGE",
              "INVALID_LINKED_SETTLEMENT_ACCOUNT_KEYS",
              "SAVINGS_ACCOUNT_ALREADY_LINKED",
              "INSTALLMENT_WITH_PENALTY_APPLIED_CANNOT_BE_EDITED",
              "INSTALLMENT_DUE_DATE_MOVED_BEFORE_LAST_PENALTY_APPLIED_DATE",
              "MATURITY_PERIOD_NOT_STARTED",
              "INVALID_AMOUNT_WITH_DECIMALS",
              "PAYMENT_HOLIDAY_INVALID_INSTALLMENT_STATE",
              "PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_ALREADY_HAVE_PAYMENT_HOLIDAYS",
              "PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_INTEREST_APPLIED",
              "PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_FEE_APPLIED",
              "PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PENALTY_APPLIED",
              "RESEND_FAILED_NOTIFICATION_FAILED",
              "INVALID_NOTIFICATION_MESSAGE_STATE",
              "DUPLICATED_NOTIFICATION_ENCODED_KEY",
              "MAXIMUM_NUMBER_OF_NOTIFICATIONS_TO_RESEND_EXCEEDED",
              "DUE_DATES_NOT_IN_ASCENDING_ORDER",
              "ACCOUNT_PRODUCT_BRANCH_AVAILABILITY_MISMATCH",
              "CLIENT_HAS_ACTIVE_ACCOUNTS_WITH_PRODUCT_BRANCH_AVAILABILITY_MISMATCH",
              "PRODUCT_HAS_ASSOCIATED_ACCOUNTS",
              "MAX_NUMBER_OF_FILTERS_REACHED",
              "MAX_NUMBER_OF_COLUMNS_REACHED",
              "USAGE_RIGHTS_ROLE_NOT_AVAILABLE",
              "CURRENCY_NOT_DEFINED",
              "BASE_CURRENCY_CANNOT_BE_REMOVED",
              "CURRENCY_IN_USE_CANNOT_BE_REMOVED",
              "CURRENCY_DOES_NOT_EXIST",
              "NON_ZERO_INTEREST_PAID_CANNOT_BE_DELETED",
              "INVALID_PRINCIPAL_AMOUNT",
              "INVALID_INSTALLMENT_DUE_DATES_ORDER",
              "INSTALLMENT_DUE_DATE_BEFORE_DISBURSEMENT",
              "INVALID_INSTALLMENT_INDEX",
              "INSTALLMENT_ADDED_BEFORE_INTEREST_APPLIED",
              "ONLY_ONE_INSTALLMENT_PER_OPERATION_FOR_DBEI",
              "MISSING_DUE_DATE_OF_ADDED_INSTALLMENT",
              "INVALID_REMOVED_INSTALLMENT",
              "INSTALLMENT_WITH_PAID_AMOUNTS_CANNOT_BE_REMOVED",
              "INSTALLMENT_ADDED_BEFORE_PAYMENT",
              "CURRENCY_CANNOT_BE_CHANGED",
              "ONLY_ORGANISATION_BASE_CURRENCY_IS_ALLOWED",
              "INVALID_COMMUNICATION_MESSAGE_ENCODED_KEY",
              "INVALID_EMAIL_SUBJECT",
              "CANNOT_ADJUST_OFFSET_DEPOSIT_TRANSACTION",
              "INVALID_CREDIT_ARRANGEMENT_ID",
              "INVALID_CREDIT_ARRANGEMENT_STATE",
              "CREDIT_ARRANGEMENT_ID_ALREADY_IN_USE",
              "INVALID_CLIENT_ROLE_PERMISSION_FOR_OPENING_CREDIT_ARRANGEMENTS",
              "CREDIT_ARRANGEMENT_AMOUNT_NOT_STRICTLY_POSITIVE",
              "PRODUCT_CREDIT_ARRANGEMENT_AFFILIATION_CONSTRAINT_MISMATCH",
              "ACCOUNT_ALREADY_ON_CREDIT_ARRANGEMENT",
              "INCONSISTENT_CREDIT_ARRANGEMENT_CLIENT_WITH_ACCOUNT_OWNER",
              "CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_EXPIRE_DATE",
              "CREDIT_ARRANGEMENT_REQUIRES_OVERDRAFT_MAX_LIMIT",
              "CREDIT_ARRANGEMENT_AMOUNT_EXCEEDED",
              "MATURITY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE",
              "OVERDRAFT_EXPIRY_DATE_AFTER_CREDIT_ARRANGEMENT_END_DATE",
              "DISBURSEMENT_DATE_BEFORE_CREDIT_ARRANGEMENT_START_DATE",
              "CREDIT_ARRANGEMENT_REQUIRED_EXCEPTION",
              "ACCOUNT_IS_NOT_PART_OF_CREDIT_ARRANGEMENT",
              "CREDIT_ARRANGEMENT_ILLEGAL_PARAMETER_MODIFICATION",
              "CREDIT_ARRANGEMENT_HAS_NON_CLOSED_ACCOUNTS",
              "BASE_CURRENCY_NOT_UNIQUE",
              "CURRENCY_SYMBOL_LENGTH_OUTSIDE_CONSTRAINTS",
              "INEXISTING_CURRENCY_SYMBOL",
              "INVALID_TO_INSTALLMENT_POSITION",
              "INVALID_PMT_VALUE",
              "PAYMENT_PLAN_NOT_AVAILABLE",
              "AT_LEAST_ONE_PERIODIC_PAYMENT_PLAN_MANDATORY",
              "SUM_OF_PERIODIC_PAYMENTS_LESS_OR_EQUAL_WITH_LOAN_AMOUNT",
              "PAYMENT_PLAN_ENTRIES_NOT_ORDERED",
              "INTEREST_RATE_COMPUTATION_ERROR",
              "INVALID_PERIODIC_PAYMENT_ENCODED_KEY",
              "DUPLICATED_PERIODIC_PAYMENT_ENCODED_KEY",
              "INVALID_INTEREST_CHARGE_FREQUENCY_METHOD_MUST_BE_NULL",
              "INVALID_DAYS_IN_YEARS_METHOD_MUST_BE_NULL",
              "PAYMENT_HOLIDAYS_INTEREST_CANT_BE_APPLIED_DURING_HOLIDAY_INSTALLMENTS",
              "PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_ACCOUNTS_WITH_PAYMENT_DUE_FEE_APPLIED_ON_DUE_DATES",
              "ACCOUNT_HAS_NO_PAYMENT_HOLIDAYS_ACCRUED_INTEREST",
              "ACCOUNT_HAS_LESS_PAYMENT_HOLIDAY_ACCRUED_INTEREST_THAN_THE_PROVIDED_AMOUNT_TO_APPLY",
              "PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_WITHOUT_PAYMENT_HOLIDAYS",
              "PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_REPAYMENTS_POSTED",
              "PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_INTEREST_APPLIED",
              "PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_FEE_APPLIED",
              "PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PENALTY_APPLIED",
              "PRODUCT_ID_ALREADY_IN_USE",
              "INVALID_ROUNDING_REPAYMENT_CURRENCY_FOR_PRODUCT",
              "SDK_CLIENT_COULD_NOT_BE_GENERATED",
              "SDK_CLIENT_LANGUAGES_COULD_NOT_BE_OBTAINED",
              "MAXIMUM_NUMBER_OF_COMMUNICATION_MESSAGES_TO_RESEND_EXCEEDED",
              "RESEND_FAILED_COMMUNICATON_FAILED",
              "DUPLICATE_ENCODED_KEY",
              "MESSAGE_STATE_MUST_BE_FAILED",
              "NO_MESSAGE_FOUND",
              "MESSAGE_NOT_FOUND",
              "MISSING_ENCODED_KEY",
              "URL_CONTAINS_QUOTES",
              "MISSING_RECIPIENT",
              "RECIPIENT_NOT_ALLOWED",
              "INVALID_CLIENT_RECIPIENT",
              "INVALID_CREDIT_OFFICER_RECIPIENT",
              "INVALID_GROUP_ROLE_RECIPIENT",
              "INVALID_CUSTOM_FIELD_RECIPIENT",
              "INVALID_EVENT",
              "INVALID_TARGET",
              "INVALID_PLACEHOLDER",
              "INVALID_FIELD_LENGTH",
              "INVALID_WEBHOOK_REQUEST_TYPE",
              "URL_CONTAINS_INVALID_PLACEHOLDERS",
              "MESSAGE_BODY_SIZE_EXCEEDS_LIMIT",
              "INVALID_CUSTOM_REQUEST_HEADERS",
              "CARD_REFERENCE_TOKEN_FORMAT_INVALID",
              "CARD_REFERENCE_TOKEN_ALREADY_IN_USE",
              "CARD_REFERENCE_HAS_ASSOCIATED_HOLDS_OR_TRANSACTIONS",
              "CARD_REFERENCE_NOT_FOUND",
              "DUPLICATE_AUTHORIZATION_HOLD",
              "DUPLICATE_CARD_TRANSACTION",
              "AVAILABLE_BALANCE_BELOW_ZERO",
              "AUTHORIZATION_HOLD_NOT_FOUND",
              "INVALID_AUTHORIZATION_HOLD_STATE",
              "CARD_TRANSACTION_CANNOT_BE_ADJUSTED",
              "TECHNICAL_OVERDRAFT_IS_NOT_ALLOWED_FOR_PRODUCT",
              "CARD_TRANSACTION_NOT_FOUND",
              "CARD_TRANSACTION_MAX_REVERSAL_AMOUNT_EXCEEDED",
              "CARDS_FEATURE_DISABLED",
              "ACCOUNT_AUTHORIZATION_HOLD_NOT_FOUND",
              "INVALID_CUSTOM_EXPIRATION_PERIOD",
              "INVALID_ACCOUNT_TYPE_FOR_CARD_OPERATION",
              "INVALID_HOLD_STATUS_VALUE",
              "INVALID_CARD_TOKEN",
              "INSUFFICIENT_ACCOUNT_HOLD_BALANCE",
              "PRODUCT_MUST_BE_ACTIVE",
              "TARGET_AMOUNT_IS_NEGATIVE",
              "MAX_WITHDRAWAL_AMOUNT_OUTSIDE_CONSTRAINTS",
              "ACCOUNT_HOLDER_KEY_INVALID",
              "ACCOUNT_HOLDER_TYPE_INVALID",
              "INVALID_WITHHOLDING_TAX_SOURCE_KEY",
              "INTEREST_RATE_OUTSIDE_CONSTRAINTS",
              "INVALID_INTEREST_PAYMENT_POINT",
              "INVALID_INTEREST_PAYMENT_DATES",
              "REQUIRED_OVERDRAFT_INTEREST_RATE",
              "REQUIRED_OVERDRAFT_EXPIRY_DATE",
              "REQUIRED_OVERDRAFT_LIMIT",
              "DEPOSIT_ACCOUNT_FIELD_NOT_EDITABLE",
              "DEPOSIT_PRODUCT_MISMATCH",
              "ACCOUNT_TYPE_DOES_NOT_ALLOW_RECOMMENDED_DEPOSIT_AMOUNT",
              "ACCOUNT_TYPE_DOES_NOT_ALLOW_MAX_WITHDRAWAL_AMOUNT",
              "ACCOUNT_TYPE_DOES_NOT_ALLOW_TARGET_AMOUNT",
              "REQUIRED_INTEREST_RATE",
              "INTEREST_RATE_SHOULD_BE_NULL",
              "OVERDRAFT_INTEREST_RATE_SHOULD_BE_NULL",
              "OVERDRAFT_INTEREST_SPREAD_SHOULD_BE_NULL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_ACCOUNT_KEY",
              "INTEREST_RATE_SHOULD_BE_ZERO_FOR_DEPOSIT_ACCOUNTS_WITH_EXTERNAL_INTEREST",
              "UNABLE_TO_RECALCULATE_SCHEDULE",
              "UNABLE_TO_APPRAISE_LOAN_ACCOUNT",
              "TRANSACTION_MADE_BY_A_DISBURSEMENT_FEE",
              "INVALID_TARGET_ACCOUNT_TYPE",
              "NEGATIVE_TARGET_ACCOUNT_BALANCE",
              "ZERO_DISBURSE_AMOUNT",
              "INVESTOR_FUNDED_LOAN_ACCOUNT",
              "INVALID_TARGET_ACCOUNT_HOLDER_KEY",
              "TRANSFER_NOTES_LENGTH_EXCEEDS_MAXIMUM_SIZE",
              "CANNOT_MAKE_TRANSFER_FOR_FOREIGN_CURRENCY_IF_ACCOUNTING_ENABLED",
              "CARD_TRANSACTION_INVALID_REVERSAL_AMOUNT",
              "INVALID_AMORTIZATION_PROFILE",
              "AMORTIZATION_PROFILE_NOT_ALLOWED",
              "INVALID_AMORTIZATION_FREQUENCY",
              "INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT",
              "INVALID_AMORTIZATION_SETTINGS",
              "AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS_NOT_ALLOWED",
              "AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT_NOT_ALLOWED",
              "AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT_NOT_ALLOWED",
              "INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_TOTAL_STEPS",
              "INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT",
              "AMORTIZATION_SETTINGS_NOT_ALLOWED",
              "INVALID_INTEREST_RATE_TERMS",
              "TRANSACTION_DISBURSEMENT_DATE_DOES_NOT_MATCH_WITH_TRANCH_EXPECTED_DATE",
              "DUPLICATE_TRANSACTION_CHANNEL_NAME",
              "DUPLICATE_TRANSACTION_CHANNEL_ID",
              "TRANSACTION_CHANNEL_ID_CONTAINS_SPACES",
              "INVALID_TRANSACTION_CHANNEL_LOAN_CONSTRAINTS",
              "INVALID_TRANSACTION_CHANNEL_SAVINGS_CONSTRAINTS",
              "INVALID_TRANSACTION_CHANNEL_ACCOUNT_USAGE",
              "CANNOT_DELETE_DEFAULT_TRANSACTION_CHANNEL",
              "TRANSACTION_CHANNEL_IN_USE",
              "TRANSACTION_CHANNEL_CANNOT_BE_DEACTIVATED",
              "INCONSISTENT_TRANSACTION_USER_KEY_WITH_ACCOUNT_USER",
              "INCONSISTENCY_BETWEEN_CHANNEL_KEY_AND_ID",
              "INCONSISTENT_TRANSACTION_PRODUCT_KEY_WITH_ACCOUNT_PRODUCT",
              "DUPLICATE_ID",
              "DUPLICATE_NAME",
              "ID_CONTAINS_SPACES",
              "INVALID_EXTERNAL_ID",
              "EXTERNAL_ID_ALREADY_EXISTS",
              "INVALID_ASSIGNMENT_FROM_NO_MEETING_DAY",
              "HOLDER_HAS_ACCOUNTS_IN_DIFFERENT_BRANCH_WITH_CENTRE_OR_CREDITOFFICER_MISMATCH",
              "ACCOUNT_ALREADY_DISBURSED",
              "ACCOUNT_APPROVED_AMOUNT_HAS_BEEN_EXCEEDED",
              "AMORTIZATION_FREQUENCY_INTERVAL_TYPE_NOT_ALLOWED",
              "AMORTIZATION_FREQUENCY_INTERVAL_COUNT_NOT_ALLOWED",
              "INVALID_AMORTIZATION_FREQUENCY_INTERVAL_TYPE",
              "INVALID_AMORTIZATION_FREQUENCY_PREDEFINED_INTERVALS_UNIT",
              "NEGATIVE_DEFAULT_INTEREST_RATE",
              "NEGATIVE_MIN_INTEREST_RATE",
              "NEGATIVE_MAX_INTEREST_RATE",
              "INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE",
              "DEFAULT_MIN_MAX_NOT_AVAILABLE",
              "INTEREST_RATE_TERMS_ARE_READONLY",
              "INTEREST_CALCULATION_BALANCE_METHOD_READONLY",
              "INTEREST_CALCULATION_BALANCE_METHOD_NOT_ALLOWED",
              "INTERNAL_TRANSFER_CANNOT_USE_CUSTOM_FIELDS",
              "INCONSISTENT_FEE_CALCULATION_METHOD_WITH_INCLUDE_FEE_IN_FLOOR_AMOUNT_OPTION_ENABLED",
              "INCONSISTENT_FEE_CALCULATION_METHOD_WITH_TOTAL_BALANCE_OPTION_ENABLED",
              "INCONSISTENT_LATE_REPAYMENT_FEE_TRIGGER_WITH_TOTAL_BALANCE_OPTION_ENABLED",
              "INACTIVE_ACCOUNT_BRANCH",
              "INCONSISTENT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDITOFFICER_MISMATCH",
              "INVALID_ACCOUNT_BRANCH_ASSIGNMENT_DUE_CENTRE_MEETING_DAY_MISMATCH",
              "CANNOT_CHANGE_LOAN_GROUP_BRANCH_FOR_A_SOLIDARITY_GROUP",
              "CANNOT_CHANGE_LOAN_ACCOUNT_BRANCH_WHEN_RESHEDULE_REFINANCE",
              "INVALID_FEE_APPLICATION",
              "INVALID_FEE_AMORTIZATION_UPON_RESCHEDULE_REFINANCE_OPTION",
              "FEE_AMORTIZATION_UPON_RESCHEDULE_REFINANCE_OPTION_IS_MANDATORY",
              "FEE_TRIGGER_NOT_ALLOWED",
              "NOT_ADJUSTED_TRANSACTION_LOGGED_AFTER_CURRENT_ONE",
              "CANNOT_ADJUST_INTEREST_ON_DISBURSEMENT",
              "TRANSACTION_TYPE_DOES_NOT_ALLOW_ADJUSTMENT",
              "TRANSACTION_ALREADY_ADJUSTED",
              "PAYMENT_DUE_FEES_ON_DUE_DATES_TRIGGER_NOT_ALLOWED",
              "DEPOSIT_INTEREST_FEATURE_DISABLED",
              "INVALID_FEE_AMOUNT_CALCULATION_FUNCTION",
              "COULD_NOT_INVOKE_FEE_AMOUNT_CALCULATION_FUNCTION",
              "FUNCTION_CALCULATED_FEE_AMOUNT_IS_ZERO",
              "INACTIVE_DEPOSIT_ACCOUNT_BRANCH",
              "CANNOT_CREATE_NEW_USER_IN_FEDERATED_CONTEXT",
              "EMPTY_CUSTOM_FIELD_ID",
              "ACCOUNT_ALREADY_CLOSED",
              "INVALID_GUARANTEE_TYPE",
              "ORIGINAL_ACCOUNT_NOT_FOUND",
              "INVALID_ORIGINAL_ACCOUNT_STATE",
              "INCONSISTENT_AMORTIZATION_ACCOUNTING_SETUP",
              "PAYMENT_DUE_FEES_ON_DUE_DATES_NOT_ALLOWED_AT_RESCHEDULE_REFINANCE",
              "TAXES_ON_PRODUCT_NOT_ALLOWED",
              "TAX_CALCULATION_METHOD_NOT_ALLOWED",
              "TAXES_NOT_EDITABLE",
              "CANNOT_APPLY_REPAYMENT_ON_ZERO_BALANCE_ACCOUNT",
              "LOCKED_BALANCE_NOT_ALLOWED",
              "INEXISTING_TOLERANCE_CALCULATION_METHOD",
              "ARREARS_TOLERANCE_DAY_OUTSIDE_CONSTRAINTS",
              "INCONSISTENT_ARREARS_TOLERANCE_VALUES_WITH_ARREARS_TOLERANCE_METHOD",
              "SAVINGS_PRODUCT_DOES_NOT_ALLOW_OFFSET_LINKING",
              "INVALID_SETTLEMENT_ACCOUNT_KEY",
              "INVALID_SETTLEMENT_ACCOUNT_STATE",
              "INVALID_DATA_MIGRATION_EVENT_KEY",
              "ANOTHER_TASK_IN_PROGRESS",
              "INVALID_DATA_IMPORT_TASK_KEY",
              "DEPOSIT_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES",
              "SAVINGS_ACCOUNT_LINKED_TO_LOAN_ACCOUNTS_ON_DIFFERENT_BRANCHES",
              "INVALID_DEPOSIT_ACCOUNT_HOLDER",
              "UNLINKABLE_DEPOSIT_PRODUCT",
              "INEXISTING_DATE_CALCULATION_METHOD",
              "INEXISTING_NON_WORKING_DAYS_METHOD",
              "MESSAGE_SENDING_ERROR",
              "CONNECTION_CLOSING_ERROR",
              "CONSUMER_SERVICE_STARTING_ERROR",
              "CONSUMER_SERVICE_ALREADY_STARTED",
              "CONSUMER_UNSUBSCRIPTION_FAILED",
              "CONSUMER_SUBSCRIPTION_FAILED",
              "INVALID_SUPPORT_ROLE_ASSOCIATION",
              "INVALID_SUPPORT_ROLE_NAME",
              "INVALID_SUPPORT_ROLE_USER_RIGHTS",
              "INVALID_SUPPORT_ROLE_PERMISSIONS",
              "LOAN_ACCOUNT_FIELD_NOT_EDITABLE",
              "INCOMPATIBLE_ARREARS_TOLERANCE_METHOD_AND_PRODUCT_TYPE",
              "TRANSACTION_CHANNEL_NOT_ALLOWED_WHEN_DISBURSE_TO_DEPOSIT",
              "INVALID_TARGET_ACCOUNT_STATE_FOR_DEPOSIT",
              "FEE_AMOUNT_ALREADY_DEFINED_IN_PRODUCT",
              "MANDATORY_FEE_AMOUNT",
              "INVALID_SORTING_SELECTION",
              "BLACKLISTED_CLIENT_NOT_EDITABLE",
              "INVALID_STRING_VALUE",
              "NOTIFICATION_STATE_IS_REQUIRED",
              "NOTIFICATION_EVENT_MESSAGE_IS_REQUIRED",
              "INSTALLMENT_NUMBER_MANDATORY_FOR_FIXED_ACCOUNTS",
              "CLIENT_ID_ANONYMIZATION_ERROR",
              "INSTALLMENT_NUMBER_NOT_ALLOWED_FOR_DYNAMIC_ACCOUNTS",
              "INVALID_INSTALLMENT_NUMBER",
              "CANNOT_APPLY_FEE_ON_PAID_INSTALLMENT",
              "MANDATORY_ACCOUNT_HOLDER_TYPE",
              "CLIENT_DOES_NOT_HAVE_EXITED_STATE",
              "UNSUBSCRIBE_CLIENT_FROM_NOTIFICATIONS_ERROR",
              "CLIENT_PERSONAL_INFORMATION_ANONYMIZATION_ERROR",
              "CLIENT_LOAN_ACCOUNTS_ANONYMIZATION_ERROR",
              "CLIENT_SAVINGS_ACCOUNTS_ANONYMIZATION_ERROR",
              "CLIENT_LINES_OF_CREDIT_ANONYMIZATION_ERROR",
              "CLIENT_GUARANTEES_ANONYMIZATION_ERROR",
              "CLIENT_NOTIFICATION_MESSAGES_ANONYMIZATION_ERROR",
              "CLIENT_ASSOCIATED_TASKS_ANONYMIZATION_ERROR",
              "INVALID_API_KEY",
              "API_KEY_REFRESH_ERROR",
              "FILE_NOT_FOUND",
              "UPLOADED_FILE_NOT_FOUND",
              "MISSING_CLIENT_ROLE",
              "BACKGROUND_PROCESS_STATE_IS_REQUIRED",
              "BACKGROUND_PROCESS_STATE_CANNOT_BE_IN_PROGRESS",
              "BACKGROUND_PROCESS_STATE_IS_NOT_QUEUED_OR_IN_PROGRESS",
              "BACKGROUND_PROCESS_CANCELING_FEATURE_IS_DISABLED",
              "BACKGROUND_PROCESS_HAS_NOT_EXCEEDED_MAXIMUM_DURATION",
              "BACKGROUND_PROCESS_IS_NOT_THE_LATEST",
              "NOT_ALLOWED_TO_CREATE_REOPEN_ACCOUNTS_WITH_RECALCULATE_SCHEDULE_KEEP_SAME_TOTAL_REPAYMENT_AMOUNT",
              "NOT_ALLOWED_TO_CREATE_REOPEN_ACCOUNTS_WITH_DEPRECATED_REDUCE_NUMBER_OF_INSTALLMENTS",
              "NOT_ALLOWED_TO_REOPEN_REVOLVING_ACCOUNTS_WITHOUT_KEEP_EMPTY_INSTALLMENTS_SCHEDULE",
              "DISBURSEMENT_THAT_WAS_REFUNDED_CANNOT_BE_ADJUSTED",
              "FEE_CAPITALISATION_CANNOT_BE_REVERSED_AFTER_A_FINANCIAL_TRANSACTION_IS_POSTED_AFTER_IT",
              "PRINCIPAL_OVERPAYMENT_CANNOT_BE_REVERSED_IF_IT_IS_LINKED_TO_REPAYMENT",
              "FEATURE_NOT_ENABLED",
              "INVALID_SESSION",
              "UNSUPPORTED_EOD_METHOD_FOR_EARLY_MANUAL_EXECUTION",
              "UNSUPPORTED_EOD_METHOD_FOR_MANUAL_EXECUTION",
              "AUTOMATIC_END_OF_DAY_PROCESSING",
              "NOT_END_OF_DAY_PROCESS",
              "ACCOUNT_NOT_ACTIVE",
              "DUPLICATE_ENTRY_FOR_CUSTOM_FIELD_VALUE",
              "ACCOUNT_ACTIVATION_FAILED",
              "INSUFFICIENT_AVAILABLE_AMOUNT_FOR_AUTHORIZATION_HOLD_ON_LOANS",
              "INVALID_MCC_EXPIRATION_ENTRY",
              "MCC_ALREADY_EXISTS",
              "MCC_EXPIRATION_ENTRY_NOT_FOUND",
              "PRODUCT_DISBURSEMENT_FEES_PREVENT_CARD_ATTACHMENT",
              "INVALID_API_CONSUMER_USERNAME",
              "YAML_PROCESSING_FAILED",
              "CARD_TRANSACTION_REVERSAL_CANNOT_BE_ADJUSTED",
              "DUPLICATE_CUSTOM_FIELD_SELECTION_ID",
              "INVALID_CREDIT_DEBIT_INDICATOR_FOR_OPERATION",
              "CREDIT_DEBIT_INDICATOR_MISMATCH",
              "INVALID_CREDIT_DEBIT_INDICATOR_FOR_LOANS",
              "INVALID_ADVICE",
              "CREDIT_DEBIT_CARD_TRANSACTION_FEATURE_DISABLED",
              "BLANK_INSTITUTION_NAME",
              "INSTITUTION_NAME_LENGTH",
              "BLANK_DECIMAL_SEPARATOR",
              "INVALID_DECIMAL_SEPARATOR",
              "BLANK_DATE",
              "INVALID_DATE_FORMAT",
              "HAS_INVALID_DATE_CHARACTER",
              "MISSING_REQUIRED_DATE_CHARACTER",
              "BLANK_DATE_TIME",
              "INVALID_DATE_TIME_FORMAT",
              "HAS_INVALID_DATE_TIME_CHARACTER",
              "MISSING_REQUIRED_DATE_TIME_CHARACTER",
              "INVALID_TERMINATION_DATE",
              "LOAN_ACCOUNT_ALREADY_FULLY_PAID",
              "TERMINATE_LOAN_ACCOUNT_FEATURE_DISABLED",
              "LATE_REPAYMENT_FEES_PRODUCT_NOT_ALLOWED",
              "LOAN_ACCOUNT_SCHEDULE_EDITING_NOT_ALLOWED",
              "AGGREGATOR_INSTALLMENT_ALREADY_HAS_CUSTOM_DUE_DATE",
              "TERMINATED_ACCOUNT_DOES_NOT_ALLOW_EDITING_AGGREGATOR_INSTALLMENT",
              "INVALID_SETUP_OF_LOAN_ACCOUNT_TO_TERMINATE",
              "LOAN_ACCOUNT_TERMINATION_AFTER_LAST_INSTALLMENT_DUE_DATE",
              "LOAN_ACCOUNT_ALREADY_TERMINATED",
              "ROLE_ID_ALREADY_IN_USE",
              "INVALID_CHARACTERS_IN_ROLE_ID",
              "ROLE_NAME_ALREADY_IN_USE",
              "REMOVED_ADMIN_FOR_CURRENT_USER",
              "ADDED_ADMIN_FOR_CURRENT_USER",
              "REMOVED_MAMBU_ACCESS_RIGHT_FOR_CURRENT_USER",
              "MISSING_REQUIRED_BRANCH",
              "CANNOT_REMOVE_TELLER_PROPERTY",
              "CANNOT_CHANGE_BRANCH_ASSIGNMENT",
              "CANNOT_DELETE_TELLER",
              "A_TELLER_CANNOT_BE_ADMINISTRATOR",
              "CREDIT_OFFICER_PROPERTY_REMOVED",
              "CREDIT_OFFICER_PROPERTY_REMOVED_FROM_ROLE",
              "USER_BRANCH_CHANGE",
              "USER_DEACTIVATED",
              "USER_DELETED",
              "SUPPORT_ROLE_CANNOT_BE_ASSIGNED_TO_AN_ADMINISTRATOR",
              "SUPPORT_ROLE_CANNOT_BE_ASSIGNED_TO_A_TELLER",
              "SUPPORT_ROLE_CANNOT_BE_ASSIGNED_TO_A_REGULAR_USER",
              "SUPPORT_ROLE_NAME_CANNOT_BE_CHANGED",
              "SUPPORT_ROLE_USER_RIGHTS_CANNOT_BE_CHANGED",
              "SUPPORT_ROLE_PERMISSIONS_MUST_BE_VIEW_ONLY",
              "INVALID_ROLE_NAME",
              "ROLES_CONFIGURATION_EMPTY",
              "INVALID_ROLE_ID",
              "ROLE_IN_USE",
              "SUPPORT_ROLE_CANNOT_BE_DELETED",
              "NULL_OR_EMPTY_ID",
              "MISSING_ROLE_NAME",
              "DELIVERY_ROLE_CANNOT_BE_DELETED",
              "DELIVERY_ROLE_NAME_CANNOT_BE_CHANGED",
              "DELIVERY_ROLE_USER_RIGHTS_CANNOT_BE_CHANGED",
              "DELIVERY_ROLE_CANNOT_BE_ASSIGNED_TO_A_REGULAR_USER",
              "DELIVERY_ROLE_CANNOT_BE_ASSIGNED_TO_AN_ADMINISTRATOR",
              "DELIVERY_ROLE_CANNOT_BE_ASSIGNED_TO_A_TELLER",
              "EDIT_USERNAME_WHEN_FA_ENABLED",
              "HYBRID_GROUP_NOT_AVAILABLE_FOR_DBEI_CAPITALIZED_INTEREST",
              "HYBRID_GROUP_NOT_AVAILABLE_WHEN_REDRAW_ENABLED",
              "PRODUCT_LINKING_NOT_AVAILABLE_WHEN_REDRAW_ENABLED",
              "FUNDING_SOURCES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED",
              "TAXES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED",
              "REDRAW_AND_OFFSET_SETTINGS_ENABLED_SIMULTANEOUSLY",
              "HYBRID_GROUP_NOT_AVAILABLE_FOR_OFFSET_LOAN",
              "INCONSISTENT_OFFSET_SETTINGS_WITH_PRODUCT_CONFIGURATION",
              "INCONSISTENT_OFFSET_SETTINGS_WITH_OFFSET_FEATURE",
              "PRODUCT_LINKING_IS_MANDATORY_WHEN_OFFSET_ENABLED",
              "LINKED_DEPOSIT_PRODUCT_DOES_NOT_ALLOW_OFFSET",
              "LINKED_DEPOSIT_PRODUCT_DOES_NOT_EXIST",
              "FUNDING_SOURCES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED",
              "TAXES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED",
              "ACCOUNT_HAS_POSITIVE_OR_ZERO_BALANCE",
              "ACCOUNT_DOES_NOT_ALLOW_OVERDRAFT",
              "INVALID_NOTES_LENGTH",
              "FEE_AMORTIZATION_PROFILE_CANNOT_BE_CHANGED",
              "FEE_AMORTIZATION_FREQUENCY_CANNOT_BE_CHANGED",
              "FEE_AMORTIZATION_PROFILE_IS_NOT_PROVIDED",
              "WITHDRAWAL_AMOUNT_GREATER_THAN_DUE_AMOUNT",
              "WITHDRAWAL_COVERING_LATE_REPAYMENTS_NOT_ALLOWED_WITHOUT_REDRAW_REPAYMENT",
              "OFFSET_NOT_ALLOWED_FOR_PRODUCT_IN_FOREIGN_CURRENCY",
              "REDRAW_OFFSET_SIMULTANEOUSLY_INVALID_SETTLEMENT_OPTIONS",
              "INTEREST_RATE_CHANGED_TRANSACTION_NOT_ALLOWED_FOR_DEPOSIT_PRODUCT_SETTINGS",
              "INTEREST_RATE_CHANGED_NOT_ALLOWED_INTEREST_APPLIANCE_TRANSACTIONS_AFTER_VALUE_DATE",
              "BLOCKED_BALANCE_SHOULD_BE_ZERO_OR_NULL",
              "FORWARD_AVAILABLE_BALANCE_SHOULD_BE_ZERO_OR_NULL",
              "CUSTOM_FIELD_DEFAULT_SET_CANNOT_BE_MORE_THAN_ONE",
              "CUSTOM_FIELD_DEFAULT_SET_ID_CANNOT_BE_CHANGED",
              "CUSTOM_FIELD_DEFAULT_SET_NAME_CANNOT_BE_CHANGED",
              "CUSTOM_FIELD_DEFAULT_DESCRIPTION_CANNOT_BE_CHANGED",
              "CUSTOM_FIELD_DEFAULT_SET_TYPE_CANNOT_BE_CHANGED",
              "CUSTOM_FIELD_SET_BLANK_ID",
              "CUSTOM_FIELD_SET_INVALID_ID_LENGTH",
              "CUSTOM_FIELD_SET_INVALID_ID_FORMAT",
              "CUSTOM_FIELD_SET_MISSING_ID_PREFIX",
              "CUSTOM_FIELD_SET_DUPLICATE_ID",
              "CUSTOM_FIELD_SET_ID_RESERVED_KEYWORD",
              "CUSTOM_FIELD_SET_BLANK_NAME",
              "CUSTOM_FIELD_SET_NAME_LENGTH",
              "CUSTOM_FIELD_SET_DUPLICATE_NAME",
              "CUSTOM_FIELD_SET_TYPE_REQUIRED",
              "CUSTOM_FIELD_SET_TYPE_CANNOT_BE_CHANGED",
              "CUSTOM_FIELD_SET_AVAILABLE_FOR_REQUIRED",
              "CUSTOM_FIELD_SET_AVAILABLE_FOR_CANNOT_BE_CHANGED",
              "CUSTOM_FIELD_BLANK_ID",
              "CUSTOM_FIELD_INVALID_ID_LENGTH",
              "CUSTOM_FIELD_INVALID_ID_FORMAT",
              "CUSTOM_FIELD_DUPLICATE_ID",
              "CUSTOM_FIELD_RESERVED_ID",
              "CUSTOM_FIELD_BLANK_NAME",
              "CUSTOM_FIELD_NAME_LENGTH",
              "CUSTOM_FIELD_DUPLICATE_NAME",
              "CUSTOM_FIELD_DEPENDENT_INVALID_TYPE_FOR_FIELD_WITH_DEPENDENT_FIELD",
              "CUSTOM_FIELD_DEPENDENT_FIELD_DOES_NOT_EXIST_IN_SET",
              "CUSTOM_FIELD_DEPENDENT_INVALID_TYPE_FOR_THE_DEPENDENT_FIELD",
              "CUSTOM_FIELD_SELECTIONS_OPTION_CANNOT_BE_DELETED",
              "CUSTOM_FIELD_SELECTIONS_FOR_SELECTION_ID_PRESENT_BUT_NO_DEPENDENT_FIELD",
              "CUSTOM_FIELD_SELECTIONS_DEPENDENT_FIELD_PRESENT_BUT_FOR_SELECTION_IS_MISSING",
              "CUSTOM_FIELD_SELECTIONS_FOR_SELECTION_ID_COULD_NOT_BE_FOUND_IN_THE_DEPENDENT_FIELD",
              "CUSTOM_FIELD_SELECTIONS_DUPLICATED_SELECTION_IDS",
              "CUSTOM_FIELD_SELECTIONS_SELECTION_ID_SHOULD_NOT_BE_EMPTY",
              "CUSTOM_FIELD_SELECTIONS_SELECTION_ID_CONTAINS_INVALID_CHARACTERS",
              "CUSTOM_FIELD_SELECTIONS_INVALID_SCORE_NUMBER",
              "CUSTOM_FIELD_SELECTIONS_DEPENDENT_FIELD_OPTIONS_NOT_COVERED",
              "CUSTOM_FIELD_SELECTIONS_DUPLICATE_OPTION_VALUES",
              "CUSTOM_FIELD_SELECTIONS_VALUE_CANNOT_BE_EMPTY",
              "CUSTOM_FIELD_SELECTIONS_CIRCULAR_DEPENDENCY",
              "CUSTOM_FIELD_SELECTION_OPTIONS_ARE_REQUIRED",
              "CUSTOM_FIELD_ACCESS_RIGHTS_INVALID_ROLE_ID",
              "CUSTOM_FIELD_SUPPORT_ROLE_INVALID_RIGHTS",
              "CUSTOM_FIELD_BLANK_ROLE_ID",
              "CUSTOM_FIELD_USAGE_BLANK_ID",
              "CUSTOM_FIELD_USAGE_ID_NOT_FOUND",
              "CUSTOM_FIELD_INVALID_USAGE_FOR_RECORD_TYPE",
              "CUSTOM_FIELD_INVALID_USAGE_FOR_FIELD",
              "CUSTOM_FIELD_USAGE_FOR_RECORD_TYPE_NOT_ALLOWED",
              "CUSTOM_FIELD_USAGE_FOR_RECORD_TYPE_REQUIRED",
              "CUSTOM_FIELD_SELECTION_USAGE_NOT_ALLOWED",
              "CUSTOM_FIELD_SELECTION_REQUIRED_NOT_ALLOWED",
              "CUSTOM_FIELD_SELECTION_DEFAULT_NOT_ALLOWED",
              "CUSTOM_FIELD_BLANK_TYPE",
              "CUSTOM_FIELD_TYPE_CHANGED",
              "CUSTOM_FIELD_VALIDATION_RULES_NOT_ALLOWED",
              "CUSTOM_FIELD_VALIDATION_RULES_DUPLICATE_VALUES",
              "CUSTOM_FIELD_STATE_REQUIRED",
              "CUSTOM_FIELD_DISPLAY_SETTINGS_REQUIRED",
              "CUSTOM_FIELD_DESCRIPTION_LENGTH_EXCEEDED",
              "CUSTOM_FIELD_SIZE_REQUIRED",
              "CUSTOM_FIELD_SET_BUILT_IN_USAGE",
              "CUSTOM_FIELD_DUPLICATE_USAGE_ID",
              "CUSTOM_FIELD_DUPLICATE_ROLE_ID",
              "CUSTOM_FIELD_ACCESS_RIGHTS_REQUIRED",
              "CUSTOM_FIELD_ACCESS_RIGHTS_ROLES_REQUIRED",
              "CUSTOM_FIELD_ACCESS_RIGHTS_ALL_USERS_REQUIRED",
              "CUSTOM_FIELD_ACCESS_RIGHTS_ALL_USERS_FALSE_WHEN_ROLES_SPECIFIED",
              "CUSTOM_FIELD_SELECTION_OPTIONS_NULL",
              "CUSTOM_FIELD_AVAILABLE_OPTIONS_NULL",
              "CUSTOM_FIELD_NULL_USAGE",
              "CUSTOM_FIELD_SET_NULL_FIELD",
              "CUSTOM_FIELDS_CONFIGURATION_EMPTY",
              "CUSTOM_FIELD_SET_NULL_ENTRY",
              "CONFIGURATION_AS_CODE_UPDATE_IN_PROGRESS",
              "CONFIGURATION_AS_CODE_CUSTOM_FIELD_SEARCHABILITY_VALIDATION_FAILED",
              "CONFIGURATION_AS_CODE_FEATURE_DISABLED",
              "PREPAYMENT_RECALCULATION_METHOD_ON_REPAYMENT_NOT_ALLOWED_FOR_LOAN_ACCOUNT",
              "PREPAYMENT_RECALCULATION_METHOD_ON_REPAYMENT_NOT_SUPPORTED",
              "CONFLICT_BETWEEN_EDIT_SCHEDULE_OPERATIONS_AND_ATTEMPTED_PREPAYMENT_RECALCULATION_METHOD",
              "CONFLICT_BETWEEN_PREPAYMENT_RECALCULATION_METHOD_FROM_TRANSACTIONS_AND_NEW_SCHEDULE_EDIT",
              "EDITING_INSTALLMENTS_DUE_BEFORE_LAST_PAID_INSTALLMENT_IS_NOT_ALLOWED",
              "INVALID_INSTALLMENT_KEY",
              "INVALID_REPAYMENT_AMOUNT_FOR_SPECIFIC_INSTALLMENT",
              "SPECIFIC_INSTALLMENT_REPAYMENTS_NOT_ALLOWED_IF_GENERIC_REPAYMENTS_EXIST",
              "GENERIC_REPAYMENTS_NOT_ALLOWED_IF_SPECIFIC_INSTALLMENT_REPAYMENTS_EXIST",
              "INSTALLMENT_ALREADY_PAID",
              "PREPAYMENT_RECALCULATION_METHOD_NOT_SUPPORTED",
              "ONLY_IOI_METHOD_SUPPORTED",
              "ACCRUE_LATE_INTEREST_NOT_SUPPORTED",
              "ONLY_PARTIALLY_PAID_STATUS_SUPPORTED",
              "ONLY_NO_PENALTY_PRODUCTS_SUPPORTED",
              "ACCOUNT_IS_LOCKED",
              "ONLY_STANDARD_PAYMENTS_SUPPORTED",
              "ARBITRARY_FEES_NOT_SUPPORTED",
              "TAXES_ON_INTEREST_NOT_SUPPORTED",
              "REPAYMENT_DUE_DATE_DUPLICATED",
              "TAXES_ON_FEE_NOT_SUPPORTED",
              "CHANGING_NO_OF_POSITIVE_PRINCIPAL_INSTALLMENTS_NOT_ALLOWED",
              "INSTALLMENTS_ADJUSTMENT_DETAILS_NOT_EXPECTED",
              "INSTALLMENTS_ADJUSTMENT_DETAILS_NOT_EXPECTED_BULK",
              "INSTALLMENTS_ADJUSTMENT_DETAILS_MISSING",
              "INSTALLMENT_NOT_FOUND",
              "INSTALLMENT_DUPLICATED",
              "INSTALLMENT_STATE_NOT_ALLOWED",
              "NOT_ALLOWED_FOR_CURRENT_ACCOUNT_TYPE",
              "NOT_ALLOWED_BEFORE_ACTIVATION_DATE",
              "NOT_ALLOWED_BEFORE_OR_DURING_PAID_INSTALLMENT",
              "GET_NOTIFICATION_MESSAGE_UPDATE_FAILURE",
              "INVALID_CUSTOM_FILTER_CONSTRAINT_OPERATOR",
              "EMPTY_CUSTOM_FILTER_CONSTRAINT_VALUE",
              "INVALID_CUSTOM_FILTER_CONSTRAINT_VALUE",
              "INVALID_CUSTOM_FILTER_CONSTRAINT_OPERATOR_USAGE",
              "EMPTY_TRANSACTION_CHANNEL_NAME",
              "EMPTY_TRANSACTION_CHANNEL_ID",
              "INVALID_CUSTOM_FILTER_CONSTRAINT_TYPE",
              "INVALID_CUSTOM_FILTER_USAGE",
              "INVALID_CUSTOM_FILTER_CRITERIA",
              "INTEREST_ACCRUAL_BREAKDOWN_INTERNAL_ERROR",
              "INTEREST_ACCRUAL_BREAKDOWN_BAD_REQUEST",
              "INTEREST_VALID_FROM_DATE_BEFORE_INDEX_INTEREST_RATE_DATE",
              "DISBURSEMENT_DATE_DIFFERENT_THAN_FIRST_INTEREST_RATE_SETTINGS_VALID_FROM_DATE",
              "ANTICIPATED_DISBURSEMENT_DATE_NOT_EQUAL_WITH_FIRST_INTEREST_RATE_SETTINGS_VALID_FROM_DATE",
              "ACCOUNT_INTEREST_SPREAD_IS_NOT_BETWEEN_LIMITS",
              "ACCOUNT_INTEREST_RATE_IS_NOT_BETWEEN_LIMITS",
              "PRODUCT_DOES_NOT_SUPPORT_ADJUSTABLE_RATES",
              "MISSING_ADJUSTABLE_RATES",
              "NOT_ALLOW_NEGATIVE_FLOOR_OR_CEILING_VALUE",
              "FLOOR_VALUE_GREATER_THAN_CEILING_VALUE_ERROR",
              "INCONSISTENT_INDEX_SOURCE_KEY_ON_ACCOUNT_LEVEL",
              "INCONSISTENT_FIXED_INTEREST_RATE_SOURCE_SETUP_ON_ACCOUNT_LEVEL",
              "INVALID_DISBURSEMENT_DATE_NOT_EQUAL_WITH_FIRST_INTEREST_RATE_SETTINGS_VALID_FROM_DATE",
              "FLOOR_VALUE_MUST_BE_PROVIDED_FOR_NEGATIVE_SPREAD_ERROR",
              "DUPLICATE_BLOCK_ID",
              "INVALID_BLOCK_FUND_STATE",
              "BLOCK_FUND_DOES_NOT_EXIST",
              "S3_REGION_NOT_FOUND",
              "INVALID_TRANSACTION_CHANNEL_ID",
              "INVALID_ACCOUNTING_METHOD",
              "MISSING_RULE",
              "NOT_REQUIRED_RULE",
              "HEADER_ACCOUNT_NOT_ALLOWED",
              "INVALID_GLACCOUNT_TYPE",
              "RULE_WITHOUT_GLACCOUNT",
              "INVALID_INTEREST_ACCRUED_METHOD",
              "GLACCOUNTS_ARE_NOT_IN_ORGANIZATION_OR_PRODUCT_CURRENCY",
              "INCONSISTENT_GLACCOUNTS_CURRENCY_SETUP",
              "INCONSISTENT_FEE_GLACCOUNTS_CURRENCY_SETUP",
              "INVALID_GL_ACCOUNT_CURRENCY",
              "CANNOT_EDIT_GL_ACCOUNT_CURRENCY_AS_ACCOUNT_IS_IN_USE",
              "FOREIGN_CURRENCY_IS_NOT_ALLOWED",
              "INEXISTING_GLACCOUNT",
              "GLACCOUNTS_ARE_NOT_IN_PRODUCT_CURRENCY",
              "DUPLICATE_FINANCIAL_RESOURCE_ACCOUNTING_RULE",
              "CHANGE_ARREARS_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_TOLERANCE_CALCULATION_METHOD",
              "INVALID_BULK_PROCESS_KEY",
              "BULK_API_REQUEST_SIZE_LIMIT_REACHED",
              "POSITIVE_AMOUNT_REQUIRED",
              "ID_NOT_UNIQUE",
              "ENCODED_KEY_NOT_FOUND",
              "CHANGE_MONTHLY_REPAYMENT_DAY_NOT_ALLOWED_FOR_ACCOUNTS_WITH_CUSTOM_SCHEDULE",
              "CHANGE_MONTHLY_REPAYMENT_DAY_ALLOWED_ONLY_FOR_ACCOUNTS_WITH_A_SINGLE_FIXED_DAY_OF_MONTH",
              "INVALID_INTEREST_ROUNDING_VERSION",
              "FEE_NOT_AVAILABLE_FOR_PRODUCT",
              "MAXIMUM_DEPOSIT_BALANCE_EXCEEDED",
              "MAX_DEPOSIT_BALANCE_NOT_AVAILABLE_FOR_INVESTOR_ACCOUNTS",
              "INTEREST_TYPE_NOT_SUPPORTED",
              "PRODUCT_DOES_NOT_ALLOW_INTEREST_SETTINGS",
              "PRODUCT_DOES_NOT_ALLOW_NEGATIVE_INTEREST_RATE",
              "INVALID_INTEREST_RATE_SETTINGS",
              "DELETE_FIRST_INTEREST_AVAILABILITY_NOT_ALLOWED",
              "INTEREST_AVAILABILITY_DOES_NOT_BELONG_TO_SAVINGS_ACCOUNT",
              "INTEREST_RATE_TERMS_NOT_SUPPORTED",
              "OPERATIONS_ON_BACKDATED_INTEREST_AVAILABILITY_NOT_ALLOWED_FOR_CURRENT_ACCOUNT_STATE",
              "BULK_INTEREST_AVAILABILITY_ACCOUNTS_LIMIT_REACHED",
              "BRANCHES_CONFIGURATION_EMPTY",
              "NULL_BRANCH_ENTRY",
              "BRANCH_NAME_LENGTH",
              "BLANK_BRANCH_NAME",
              "BRANCH_ID_LENGTH",
              "BLANK_BRANCH_ID",
              "DUPLICATE_BRANCH_ID",
              "BRANCH_EMAIL_FORMAT",
              "BRANCH_EMAIL_LENGTH",
              "BRANCH_PHONE_LENGTH",
              "ADDRESS_FIELD_LENGTH",
              "BLANK_HOLIDAY_ID",
              "INVALID_HOLIDAY_ID",
              "DUPLICATE_HOLIDAY_ID",
              "BLANK_HOLIDAY_NAME",
              "HOLIDAY_NAME_LENGTH",
              "HOLIDAY_DAY_OF_MONTH_ERROR",
              "HOLIDAY_MONTH_OF_YEAR_ERROR",
              "HOLIDAY_YEAR_ERROR",
              "HOLIDAY_VALID_DATE_ERROR",
              "CANNOT_DEACTIVATE_BRANCH",
              "HOLIDAY_EMPTY_ANNUALLY_RECURRING",
              "HOLIDAY_EMPTY_DATE",
              "CENTRE_CONFIGURATION_EMPTY",
              "CENTRE_ID_LENGTH",
              "BLANK_CENTRE_ID",
              "DUPLICATE_CENTRE_ID",
              "CENTRE_NAME_LENGTH",
              "BLANK_CENTRE_NAME",
              "INVALID_CENTRE_MEETING_DAY",
              "BLANK_CENTRE_BRANCH_ID",
              "BRANCH_IS_INACTIVE",
              "BRANCH_DOES_NOT_EXIST",
              "CENTRE_STATE_BLANK",
              "NULL_CENTRE_ENTRY",
              "DEPOSIT_PRODUCT_CONFIGURATION_EMPTY",
              "BLANK_DEPOSIT_PRODUCT_NAME",
              "BLANK_DEPOSIT_PRODUCT_ID",
              "DEPOSIT_PRODUCT_ID_LENGTH",
              "DEPOSIT_PRODUCT_DUPLICATE_ID",
              "DEPOSIT_PRODUCT_CONFIGURATION_NULL_ENTRY",
              "DEPOSIT_PRODUCT_NAME_LENGTH",
              "BLANK_DEPOSIT_PRODUCT_TYPE",
              "BLANK_DEPOSIT_PRODUCT_CATEGORY",
              "BLANK_DEPOSIT_PRODUCT_NEW_ACCOUNT_SETTINGS",
              "BLANK_DEPOSIT_PRODUCT_ID_PATTERN",
              "DEPOSIT_PRODUCT_ID_PATTERN_LENGTH",
              "DEPOSIT_PRODUCT_INVALID_ID_PATTERN_FORMAT",
              "DEPOSIT_PRODUCT_INVALID_ID_PATTERN_NUMBER",
              "BLANK_DEPOSIT_PRODUCT_ID_GENERATOR_TYPE",
              "DEPOSIT_PRODUCT_AVAILABILITY_SETTINGS_BLANK",
              "DEPOSIT_PRODUCT_BRANCH_AVAILABILITY_SETTINGS_BLANK",
              "DEPOSIT_PRODUCT_AVAILABILITY_ALL_BRANCHES_BLANK",
              "DEPOSIT_PRODUCT_AVAILABILITY_BRANCH_DOES_NOT_EXIST",
              "DEPOSIT_PRODUCT_AVAILABILITY_ALL_BRANCHES_FALSE",
              "DEPOSIT_PRODUCT_AVAILABILITY_ALL_BRANCHES_TRUE",
              "DEPOSIT_PRODUCT_AVAILABILITY_DUPLICATE_BRANCH",
              "DEPOSIT_PRODUCT_AVAILABILITY_INACTIVE_BRANCH",
              "DEPOSIT_PRODUCT_AVAILABILITY_FOR_INDIVIDUALS_BLANK",
              "DEPOSIT_PRODUCT_AVAILABILITY_FOR_GROUPS_BLANK",
              "DEPOSIT_PRODUCT_CURRENCY_NOT_DEFINED",
              "BLANK_DEPOSIT_PRODUCT_CURRENCY",
              "DEPOSIT_PRODUCT_MULTIPLE_CURRENCIES_NOT_ALLOWED",
              "DEPOSIT_PRODUCT_INVALID_MATURITY_MIN_MAX",
              "DEPOSIT_PRODUCT_INVALID_WITHHOLDING_TAX_ENABLED",
              "DEPOSIT_PRODUCT_NEGATIVE_TERM_LENGTH",
              "DEPOSIT_PRODUCT_FIELD_NOT_EDITABLE",
              "DEPOSIT_PRODUCT_INTERNAL_CONTROL_DORMANCY_RANGE",
              "DEPOSIT_PRODUCT_INTERNAL_CONTROL_RECOMMENDED_AMOUNT_RANGE",
              "DEPOSIT_PRODUCT_INTERNAL_CONTROL_MAX_WITHDRAWAL_AMOUNT_RANGE",
              "DEPOSIT_PRODUCT_INTERNAL_CONTROL_INVALID_OPENING_BALANCE",
              "DEPOSIT_PRODUCT_INTERNAL_CONTROL_ALLOW_OFFSET_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_FREQUENCY",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_DAYS_IN_YEAR_METHOD_NOT_ALLOWED",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_EMPTY_DAYS_IN_YEAR",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_DEFAULT_INTEREST_RATE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_MAX_INTEREST_RATE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_MIN_INTEREST_RATE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_DEFAULT_MIN_MAX_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INDEX_INTEREST_RATE_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_EMPTY_INDEX_RATE_SOURCE_KEY",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_MANDATORY_NEGATIVE_INTEREST_RATE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_MANDATORY_REVIEW_UNIT",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_MANDATORY_REVIEW_COUNT",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_INTEREST_REVIEW_COUNT",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INDEX_RATE_FOR_REGULAR_INTEREST_FEATURE_DISABLED",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_READONLY_INTEREST_RATE_TERMS",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INDEXED_INTEREST_RATE_SOURCE_DEFINED_FOR_FIXED_INTEREST_RATE_SOURCE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_MAXIMUM_BALANCE_VALUE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_MAXIMUM_BALANCE_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_CALCULATION_BALANCE_METHOD_NOT_ALLOWED",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIERED_BAND_NOT_AVAILABLE_FOR_INTEREST",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIERS_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_EMPTY_TIERS",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_ENDING_DAY_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_NEGATIVE_ENDING_BALANCE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_ENDING_BALANCE_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_NEGATIVE_INTEREST_RATE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_DOES_NOT_ALLOW_NEGATIVE_INTEREST_RATE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_TIER_NEGATIVE_ENDING_DAY",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_INTEREST_RATE_NOT_ENABLED",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_INTEREST_RATE_MAMBU_NOT_ENABLED",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_CANNOT_DISABLE_NEGATIVE_INTEREST_RATE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_NEGATIVE_INTEREST_RATE_NOT_ALLOWED_FOR_INTEREST_RATE_TERM",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_PRODUCT_TYPE_NOT_ALLOWS_NEGATIVE_INTEREST_RATE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_NOT_ALLOWED_WITHHOLDING_TAXES_AND_NEGATIVE_INTEREST_RATE",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_WITHHOLDING_TAX_NOT_AVAILABLE_INTEREST_TIERED_BAND",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_SETTINGS_NOT_ALLOWED",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_DAYS_IN_YEAR_METHOD",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_INVALID_INDEX_RATE_SOURCE_KEY",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_ENDING_DAY_LESS_THAN_STARTING_DAY",
              "DEPOSIT_PRODUCT_INTEREST_SETTINGS_ENDING_BALANCE_LESS_THAN_STARTING_BALANCE",
              "SAVINGS_FEE_INCOMPATIBLE_INPUT",
              "ARBITRARY_SAVINGS_FEE_NOT_ALLOWED",
              "SAVINGS_FEE_BLANK_ID",
              "CANNOT_DELETE_SAVINGS_FEE",
              "INTEREST_ACCRUED_METHOD_INVALID",
              "INVALID_INTEREST_ACCRUAL_CALCULATION",
              "ACCOUNTING_RULE_WITHOUT_GLACCOUNT",
              "HEADER_GL_ACCOUNT_NOT_ALLOWED",
              "DISABLED_DEPOSIT_INTEREST_FEATURE",
              "NOT_REQUIRED_ACCOUNTING_RULE",
              "INVALID_RULE_GLACCOUNT_TYPE",
              "INVALID_GLACCOUNT_CURRENCY",
              "INCONSISTENT_CURRENCY_SETUP_FOR_GLACCOUNTS",
              "INCONSISTENT_CURRENCY_SETUP_ON_FEE_GLACCOUNTS",
              "MISSING_ACCOUNTING_RULE",
              "ACCOUNTING_ACTIONS_NOT_FULLY_DEFINED",
              "ACCOUNTING_RULE_CURRENCY_NOT_DEFINED",
              "GL_RULE_CURRENCY_NOT_DEFINED",
              "DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_MAX_LIMIT",
              "DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_MAX_LIMIT",
              "DEPOSIT_PRODUCT_OVERDRAFT_ALLOW_TECHNICAL_OVERDRAFT_CANNOT_BE_DISABLED",
              "DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_INTEREST_SETTINGS",
              "DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_MIN_INTEREST_RATE",
              "DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_MAX_INTEREST_RATE",
              "DEPOSIT_PRODUCT_OVERDRAFT_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE",
              "DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_INDEX_RATE",
              "DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_INTEREST_REVIEW_UNIT",
              "DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_INTEREST_REVIEW_COUNT",
              "DEPOSIT_PRODUCT_OVERDRAFT_EMPTY_DAYS_IN_YEAR",
              "DEPOSIT_PRODUCT_OVERDRAFT_INVALID_DAYS_IN_YEAR_VALUE",
              "DEPOSIT_PRODUCT_OVERDRAFT_TIERED_BAND_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_OVERDRAFT_TIERED_PERIOD_NOT_AVAILABLE",
              "UPDATE_DEPOSIT_PRODUCTS_ERROR",
              "DEPOSIT_PRODUCT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_CRYPTOCURRENCIES",
              "DEPOSIT_PRODUCT_OVERDRAFT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_CRYPTOCURRENCIES",
              "DEPOSIT_PRODUCT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_NON_TRADITIONAL_CURRENCIES",
              "DEPOSIT_PRODUCT_OVERDRAFT_INTEREST_RATE_SETTINGS_NOT_ALLOWED_FOR_PRODUCT_WITH_NON_TRADITIONAL_CURRENCIES",
              "DEPOSIT_PRODUCT_OVERDRAFT_INDEX_RATE_AVAILABLE_ONLY_FOR_FIXED_TERMS",
              "DEPOSIT_PRODUCT_HAS_ASSOCIATED_LOAN_PRODUCTS",
              "DEPOSIT_PRODUCT_INTEREST_RATE_MUST_BE_ZERO_FOR_PRODUCTS_WITH_EXTERNAL_INTEREST",
              "DEPOSIT_PRODUCT_OVERDRAFT_NEGATIVE_DEFAULT_INTEREST_RATE",
              "DEPOSIT_PRODUCT_OVERDRAFT_INTEREST_RATE_SOURCE_IS_MANDATORY",
              "DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_NEGATIVE_MIN_INTEREST_RATE",
              "DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_NEGATIVE_MAX_INTEREST_RATE",
              "DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_NEGATIVE_DEFAULT_INTEREST_RATE",
              "DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE",
              "DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_MIN_MAX_DEFAULT_TUPLE_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_EMPTY_INTEREST_SETTINGS",
              "DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_INDEX_INTEREST_NOT_AVAILABLE",
              "DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_INTEREST_RATE_SOURCE_IS_MANDATORY",
              "DEPOSIT_PRODUCT_TECHNICAL_OVERDRAFT_NEGATIVE_CALCULATION_FREQUENCY",
              "INCONSISTENT_DEPOSIT_ACCOUNT_BRANCH_ASSOCIATION_CENTRE_OR_CREDIT_OFFICER_MISMATCH",
              "CF_SET_ID_ERROR",
              "CF_SET_INVALID_ID",
              "CF_SET_DUPLICATE_ID",
              "CF_GROUPED_SET_EMPTY_ERROR",
              "CF_GROUPED_SET_INDEX_DUPLICATE_ERROR",
              "CF_STANDARD_VALUES_DEFINED_FOR_GROUPED_SET_ERROR",
              "CF_GROUPED_VALUES_DEFINED_FOR_STANDARD_SET_ERROR",
              "CF_GROUPED_SET_CF_ID_DUPLICATE_ERROR",
              "CF_STANDARD_SET_CF_ID_DUPLICATE_ERROR",
              "CUSTOM_FIELD_ID_BLANK_ERROR",
              "CUSTOM_FIELD_ID_INVALID_ERROR",
              "CF_VALUE_CHECKBOX_TYPE_INVALID_ERROR",
              "CF_VALUE_CLIENT_LINK_TYPE_INVALID_ERROR",
              "CF_VALUE_DATE_TYPE_INVALID_ERROR",
              "CF_VALUE_GROUP_LINK_TYPE_INVALID_ERROR",
              "CF_VALUE_NUMBER_TYPE_INVALID_ERROR",
              "CF_VALUE_SELECTION_TYPE_INVALID_ERROR",
              "CF_VALUE_USER_LINK_TYPE_INVALID_ERROR",
              "CF_VALUES_EMPTY_ERROR",
              "CF_GROUPED_SET_NULL_INDEX_ERROR",
              "CF_GROUPED_SET_INDEX_UNORDERED_ERROR",
              "DUPLICATE_NON_WORKING_DAYS",
              "INVALID_GENERAL_HOLIDAY_IDENTIFIER",
              "HOLIDAY_ID_NOT_UNIQUE_INVALID_OPERATION",
              "HOLIDAY_ID_OUT_OF_LIMITS",
              "CLIENT_ROLE_EMPTY_CONFIGURATION",
              "CLIENT_ROLE_NULL_ROLES_CONFIG",
              "CLIENT_ROLE_NULL_ROLES",
              "CLIENT_ROLE_ID_LENGTH",
              "CLIENT_ROLE_BLANK_ID",
              "CLIENT_ROLE_DUPLICATE_ID",
              "CLIENT_ROLE_NAME_LENGTH",
              "CLIENT_ROLE_BLANK_NAME",
              "CLIENT_ROLE_DUPLICATE_NAME",
              "CLIENT_ROLE_IDENTIFICATION_DOCUMENT_ERROR",
              "CLIENT_ROLE_ID_TEMPLATE_LENGTH",
              "CLIENT_ROLE_ID_TEMPLATE_FORMAT",
              "CLIENT_ROLE_DESCRIPTION_LENGTH",
              "CLIENT_ROLE_DEFAULT_ROLE_REQUIRED",
              "CLIENT_ROLE_BLANK_TYPE",
              "CLIENT_ROLE_DUPLICATE_TYPES",
              "DEFAULT_ROLE_ID",
              "EXPOSURE_AMOUNT_RANGE_VIOLATION",
              "EXPOSURE_AMOUNT_REQUIRED",
              "ARREARS_DAYS_BEFORE_WRITE_OFF_RANGE_VIOLATION",
              "MAX_ALLOWED_UNDO_CLOSURE_PERIOD_RANGE_VIOLATION",
              "MIN_GROUP_SIZE_LIMIT_RANGE_VIOLATION",
              "MIN_GROUP_SIZE_LIMIT_REQUIRED",
              "MAX_GROUP_SIZE_LIMIT_RANGE_VIOLATION",
              "MAX_LOWER_THAN_MIN_GROUP_SIZE_LIMIT",
              "MAX_GROUP_SIZE_LIMIT_REQUIRED",
              "LOAN_RISK_LEVELS_CONFIGURATION_EMPTY",
              "NULL_LOAN_RISK_LEVEL_ENTRY",
              "LOAN_RISK_LEVEL_ID_LENGTH",
              "BLANK_LOAN_RISK_LEVEL_ID",
              "DUPLICATE_LOAN_RISK_LEVEL_ID",
              "NON_ALPHANUMERIC_LOAN_RISK_LEVEL_ID",
              "LOAN_RISK_LEVEL_NAME_LENGTH",
              "LOAN_RISK_LEVEL_NAME_BLANK",
              "NEGATIVE_ARREARS_DAYS_NUMBER",
              "EMPTY_ARREARS_DAYS_NUMBER",
              "ARREARS_DAYS_NUMBER_SIZE",
              "BLANK_PROVISIONING_PERCENT",
              "GROUP_ROLE_NAMES_EMPTY_CONFIGURATION",
              "GROUP_ROLE_NAMES_NULL_CONFIG",
              "GROUP_ROLE_NAME_BLANK_ID",
              "GROUP_ROLE_NAME_ID_LENGTH",
              "GROUP_ROLE_NAME_DUPLICATE_ID",
              "GROUP_ROLE_NAME_BLANK_NAME",
              "GROUP_ROLE_NAME_LENGTH",
              "OBJECT_LABELS_CONFIGURATION_EMPTY",
              "NULL_OBJECT_LABELS_ENTITY",
              "DUPLICATE_OBJECT_LABEL_PAIR",
              "INVALID_NUMBER_OF_OBJECT_LABEL_PAIRS",
              "NULL_OBJECT_LABELS_VALUE_ENTITY",
              "MISSING_LANGUAGE",
              "DUPLICATE_LANGUAGE",
              "EMPTY_SINGULAR_OBJECT_LABEL_VALUE",
              "EMPTY_PLURAL_OBJECT_LABEL_VALUE",
              "ACCOUNTING_RULE_BLANK_ID",
              "ID_NOT_ALPHANUMERIC",
              "INVALID_ID_LENGTH",
              "ACCOUNTING_RULE_DUPLICATE_ID",
              "ACCOUNTING_RULES_CONFIGURATION_EMPTY",
              "NULL_CUSTOM_ACCOUNTING_RULE_ENTRY",
              "DUPLICATE_RULE_FOR_CURRENCY",
              "BRANCHES_ARE_EQUAL",
              "GLACCOUNT_NOT_SET",
              "BRANCHES_NOT_SET",
              "GLACCOUNT_DOESNT_EXIST",
              "BRANCHES_MUST_BE_SET",
              "BOTH_BRANCHES_MUST_BE_SET_OR_BOTH_BRANCHES_NOT_SET",
              "DEFAULT_RULE_ALLOWS_ONLY_GLACCOUNT_IN_ORGBASE_CURRENCY",
              "ONLY_FOREIGN_CURRENCY_ALLOWED_FOR_ALL_BRANCHES_TO_ALL_BRANCHES_RULE",
              "GLACCOUNT_MUST_HAVE_ORGBASE_CURRENCY",
              "NEGATIVE_AUTOMATED_ACCOUNTING_CLOSURES_INTERVAL",
              "AUTOMATED_ACCOUNTING_CLOSURES_INTERVAL_EXCEEDS_LIMIT",
              "DEFAULT_GLACCOUNT_DOESNT_EXIST",
              "ACCOUNTING_RULE_INVALID_BRANCH_ID",
              "ACCOUNTING_RULE_EMPTY_BRANCH_ID",
              "AUTHORIZATION_HOLDS_CONFIGURATION_EMPTY",
              "NULL_AUTHORIZATION_HOLD_ENTITY",
              "NULL_DEFAULT_AUTHORIZATION_HOLD_ENTITY",
              "NON_EMPTY_MCC_FOR_DEFAULT_AUTHORIZATION_HOLD",
              "NON_EMPTY_DESCRIPTION_FOR_DEFAULT_AUTHORIZATION_HOLD",
              "INVALID_DAYS_TO_EXPIRE_FOR_DEFAULT_AUTHORIZATION_HOLD",
              "EMPTY_MCC_FOR_AUTHORIZATION_HOLD",
              "INVALID_DAYS_TO_EXPIRE_FOR_AUTHORIZATION_HOLD",
              "INVALID_DESCRIPTION_FOR_AUTHORIZATION_HOLD",
              "NON_UNIQUE_MCC_FOR_AUTHORIZATION_HOLD",
              "ID_DOCUMENT_TEMPLATES_CONFIGURATION_EMPTY",
              "NULL_ID_DOCUMENT_TEMPLATE_ENTRY",
              "ID_DOCUMENT_TEMPLATE_ID_LENGTH",
              "BLANK_ID_DOCUMENT_TEMPLATE",
              "DUPLICATE_ID_DOCUMENT_TEMPLATE_ID",
              "NON_ALPHANUMERIC_ID_DOCUMENT_TEMPLATE_ID",
              "BLANK_DOCUMENT_TYPE",
              "DOCUMENT_TYPE_LENGTH",
              "BLANK_DOCUMENT_ID_TEMPLATE",
              "DOCUMENT_ID_TEMPLATE_LENGTH",
              "BLANK_ISSUING_AUTHORITY",
              "ISSUING_AUTHORITY_LENGTH",
              "BLANK_MANDATORY_FOR_CLIENT",
              "BLANK_ALLOW_ATTACHMENTS",
              "BASE_CURRENCY",
              "BASE_CURRENCY_REQUIRED",
              "BASE_CURRENCY_EDITED",
              "CURRENCY_CODE_REQUIRED",
              "CURRENCY_NAME_REQUIRED",
              "CURRENCY_SYMBOL_REQUIRED",
              "SYMBOL_POSITION_REQUIRED",
              "CURRENCY_NAME_LENGTH",
              "CURRENCY_SYMBOL_LENGTH",
              "CURRENCY_REQUIRED",
              "FOREIGN_CURRENCY_NULL_ENTRIES",
              "DUPLICATE_BASE_CURRENCY",
              "DUPLICATE_FOREIGN_CURRENCY",
              "EXCHANGE_RATE_REQUIRED",
              "BUY_EXCHANGE_RATE_REQUIRED",
              "SELL_EXCHANGE_RATE_REQUIRED",
              "ACCOUNTING_RATES_REQUIRED",
              "ACCOUNTING_RATE_REQUIRED",
              "ACCOUNTING_RATE_CAN_NOT_BE_SET",
              "BUY_EXCHANGE_RATE_RANGE_VIOLATION",
              "SELL_EXCHANGE_RATE_RANGE_VIOLATION",
              "ACCOUNTING_RATE_RANGE_VIOLATION",
              "RATE_START_DATE_REQUIRED",
              "EXCHANGE_RATES_NULL_ENTRIES",
              "BUY_RATE_GRATER_THAN_SELL_RATE",
              "ACCOUNTING_RATES_NULL_ENTRIES",
              "START_DATE_BEFORE_PREVIOUS_RATE",
              "EDIT_EXISTING_RATE_NOT_ALLOWED",
              "EXISTING_RATES_REMOVAL_NOT_ALLOWED",
              "GL_JOURNAL_ENTRIES_USING_CURRENT_RATES",
              "BEFORE_CONFIGURATION_START_DATE",
              "MULTICURRENCY_FEATURE_IS_DISABLED",
              "DUPLICATE_RATE_START_DATE",
              "CUSTOM_PAYMENT_AMOUNT_DUPLICATE_PREDEFINED_FEE",
              "CUSTOM_PAYMENT_AMOUNT_TYPE_DISALLOWS_PREDEFINED_FEE",
              "CUSTOM_PAYMENT_AMOUNT_TYPE_DOES_NOT_MATCH_PREDEFINED_FEE",
              "CUSTOM_PAYMENT_AMOUNT_TYPE_SHOULD_HAVE_FEE_NAME_FIRST",
              "EXCHANGE_RATE_SHOULD_BE_EMPTY",
              "EXCHANGE_RATE_CAN_NOT_BE_SET",
              "CURRENCY_CODE_LENGTH",
              "CURRENCY_CODE_INVALID_CHARACTERS",
              "INVALID_CURRENCY_TYPE",
              "INVALID_YAML_SYNTAX",
              "LOAN_PRODUCT_CONFIGURATION_EMPTY",
              "LOAN_PRODUCT_CONFIGURATION_NULL_ENTRY",
              "LOAN_PRODUCT_DUPLICATE_ID",
              "LOAN_PRODUCT_ID_LENGTH",
              "LOAN_PRODUCT_NAME_LENGTH",
              "BLANK_LOAN_PRODUCT_ID",
              "BLANK_LOAN_PRODUCT_NAME",
              "BLANK_LOAN_PRODUCT_TYPE",
              "BLANK_LOAN_PRODUCT_CATEGORY",
              "UPDATE_LOAN_PRODUCTS_ERROR",
              "UPDATE_LOAN_PRODUCTS_UNKNOWN_ERROR",
              "LOAN_PRODUCT_FEE_BLANK_ID",
              "LOAN_PRODUCT_GL_ACCOUNT_CODE_IS_NOT_PRESENT",
              "LOAN_PRODUCT_TRANSACTION_CHANNEL_ID_IS_NOT_PRESENT",
              "LOAN_PRODUCT_FEE_TRIGGER_MANDATORY",
              "LOAN_PRODUCT_FEE_APPLICATION_MANDATORY",
              "LOAN_PRODUCT_FEE_STATE_MANDATORY",
              "ARREARS_SETTINGS_INEXISTING_ARREARS_SETTINGS",
              "ARREARS_SETTINGS_INEXISTING_TOLERANCE_CALCULATION_METHOD",
              "ARREARS_SETTINGS_INEXISTING_DATE_CALCULATION_METHOD",
              "ARREARS_SETTINGS_INEXISTING_NON_WORKING_DAYS_METHOD",
              "ARREARS_SETTINGS_NON_POSITIVE_ARREARS_TOLERANCE_PERIOD",
              "ARREARS_SETTINGS_NON_POSITIVE_ARREARS_TOLERANCE_AMOUNT_PERCENTAGE",
              "ARREARS_SETTINGS_TOLERANCE_DAY_OUTSIDE_CONSTRAINTS",
              "ARREARS_SETTINGS_TOLERANCE_CALCULATION_METHOD_CAN_NOT_BE_CHANGED",
              "ARREARS_SETTINGS_INCOMPATIBLE_TOLERANCE_METHOD_AND_PRODUCT_TYPE",
              "ARREARS_SETTINGS_INCONSISTENT_TOLERANCE_VALUES_WITH_ARREARS_TOLERANCE_METHOD",
              "ARREARS_SETTINGS_INVALID_TOLERANCE_PERIOD_MIN_MAX_DEFAULT_TUPLE",
              "ARREARS_SETTINGS_NON_POSITIVE_TOLERANCE_FLOOR_AMOUNT",
              "ARREARS_SETTINGS_INVALID_TOLERANCE_PERCENTAGE_OF_OUTSTANDING_BALANCE_MIN_MAX_DEFAULT_TUPLE",
              "ARREARS_SETTINGS_TOLERANCE_AMOUNT_FEATURE_NOT_ENABLED",
              "ARREARS_SETTINGS_DATE_CALCULATION_METHOD_NOT_ALLOWED",
              "ARREARS_SETTINGS_INVALID_TOLERANCE_AMOUNT_SETTINGS",
              "PRODUCT_LINKING_INCONSISTENT_LINKABLE_SAVINGS_PRODUCT_KEY_WITH_LINKING_STATE",
              "PRODUCT_LINKING_INCONSISTENT_AUTO_LINK_ACCOUNTS_WITH_LINKING_STATE",
              "PRODUCT_LINKING_INCONSISTENT_AUTO_CREATE_LINKED_ACCOUNTS_WITH_LINKING_STATE",
              "PRODUCT_LINKING_INCONSISTENT_AUTO_LINK_ACCOUNTS_WITH_LINKING_PRODUCT",
              "PRODUCT_LINKING_INCONSISTENT_AUTO_CREATE_LINKED_ACCOUNTS_WITH_LINKING_PRODUCT",
              "PRODUCT_LINKING_PRODUCTS_HOLDER_INCOMPATIBILITY",
              "PRODUCT_LINKING_LOAN_HOLDER_INCOMPATIBILITY",
              "PRODUCT_LINKING_OVERDRAFT_INCOMPATIBILITY",
              "PRODUCT_LINKING_ACCOUNTING_INCOMPATIBILITY",
              "PRODUCT_LINKING_NON_OFFSET_SAVING_PRODUCT",
              "PRODUCT_LINKING_INVALID_PRODUCT_LINKING_STATE",
              "PRODUCT_LINKING_LINKED_PRODUCT_CURRENCY_MISMATCH",
              "PRODUCT_LINKING_LINKED_PRODUCT_ACCOUNTING_CURRENCY_MISMATCH",
              "LOAN_PRODUCT_ACCOUNT_LINK_CONFIGURATION_INVALID_DEPOSIT_PRODUCT_ID",
              "LOAN_PRODUCT_ACCOUNT_LINK_CONFIGURATION_SETTLEMENT_METHOD_CANNOT_BE_NULL",
              "FUNDING_SETTINGS_ORGANIZATION_MIN_INTEREST_COMMISSION_GREATER_THAN_MAX_INTEREST",
              "FUNDING_SETTINGS_FUNDER_MIN_INTEREST_COMMISSION_GREATER_THAN_MAX_INTEREST",
              "FUNDING_SETTINGS_FUNDER_AND_ORGANIZATION_MIN_INTEREST_COMMISSION_SUM_GREATER_THAN_MAX_INTEREST_RATE",
              "FUNDING_SETTINGS_INVALID_ORGANIZATION_MIN_MAX_DEFAULT_ORDER",
              "FUNDING_SETTINGS_INVALID_FUNDER_MIN_MAX_DEFAULT_ORDER",
              "FUNDING_SETTINGS_FUNDER_INTEREST_COMMISSION_MUST_BE_NULL",
              "FUNDING_SETTINGS_NULL_FUNDER_INTEREST_COMMISSION_ALLOCATION_TYPE_FOR_ENABLED_FUNDING",
              "FUNDING_SETTINGS_NEGATIVE_ORGANIZATION_INTEREST_COMMISSION_MIN_VALUE",
              "FUNDING_SETTINGS_NEGATIVE_ORGANIZATION_INTEREST_COMMISSION_DEFAULT_VALUE",
              "FUNDING_SETTINGS_NEGATIVE_ORGANIZATION_INTEREST_COMMISSION_MAX_VALUE",
              "FUNDING_SETTINGS_NEGATIVE_FUNDER_INTEREST_COMMISSION_MIN_VALUE",
              "FUNDING_SETTINGS_NEGATIVE_FUNDER_INTEREST_COMMISSION_DEFAULT_VALUE",
              "FUNDING_SETTINGS_NEGATIVE_FUNDER_INTEREST_COMMISSION_MAX_VALUE",
              "FUNDING_SETTINGS_LOCK_FUNDS_AT_APPROVAL_NOT_AVAILABLE_FOR_PRODUCT",
              "FUNDING_SETTINGS_LOCK_FUNDS_AT_APPROVAL_MISSING_FOR_PRODUCT",
              "FUNDING_SETTINGS_LOCK_FUNDS_AT_APPROVAL_ALTERED",
              "FUNDING_SETTINGS_INVALID_ID",
              "LOAN_PRODUCT_FUNDING_SETTINGS_ORGANIZATION_INTEREST_COMMISSION_CANNOT_BE_NULL",
              "LOAN_PRODUCT_FUNDING_SETTINGS_FUNDER_INTEREST_COMMISSION_CANNOT_BE_NULL",
              "LOAN_PRODUCT_INTERNAL_CONTROLS_DORMANCY_PERIOD_RANGE_VIOLATION",
              "LOAN_PRODUCT_INTERNAL_CONTROLS_LOCK_PERIOD_RANGE_VIOLATION",
              "LOAN_PRODUCT_INTERNAL_CONTROLS_CAPPING_PERCENTAGE_RANGE_VIOLATION",
              "LOAN_PRODUCT_INTERNAL_CONTROLS_INCONSISTENT_CAPPING_SETTINGS",
              "LOAN_PRODUCT_INTERNAL_CONTROLS_INCONSISTENT_CAPPING_METHOD",
              "LOAN_PRODUCT_INTERNAL_CONTROLS_FOUR_EYES_PRINCIPLE_NOT_ENABLED",
              "LOAN_PRODUCT_TAX_CONFIGURATION_TAXES_NOT_EDITABLE",
              "LOAN_PRODUCT_TAX_CONFIGURATION_TAXES_NOT_ALLOWED",
              "LOAN_PRODUCT_TAX_CONFIGURATION_TAXES_NOT_ALLOWED_ON_PRODUCT_WITH_PAYMENT_DUE_FEES_ON_DUE_DATES",
              "LOAN_PRODUCT_TAX_CONFIGURATION_TAX_CALCULATION_METHOD_NOT_ALLOWED",
              "LOAN_PRODUCT_TAX_CONFIGURATION_INVALID_TAX_SOURCE_ID",
              "LOAN_PRODUCT_INTEREST_SETTINGS",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_APPLICATION_METHOD",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_CALCULATION_METHOD",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_BALANCE_CALCULATION_METHOD",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_TYPE",
              "LOAN_PRODUCT_INTEREST_SETTINGS_DAYS_IN_YEAR",
              "LOAN_PRODUCT_INTEREST_SETTINGS_SCHEDULE_INTEREST_DAYS_COUNT_METHOD",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_SOURCE",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INDEX_RATE_INTEREST_RATE_INVALID",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INDEX_RATE_INDEX_SOURCE_ID",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_TERMS",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATES_MISMATCH",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_SETTINGS_DUPLICATE_ID",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_RATE_SETTINGS_ID",
              "LOAN_PRODUCT_INTEREST_SETTINGS_INTEREST_CALCULATION_METHOD_MISMATCH",
              "LOAN_PRODUCT_INTEREST_SETTINGS_APPLICATION_METHOD_MISMATCH",
              "LOAN_PRODUCT_INDEX_RATE_SETTINGS_ACCRUE_INTEREST_AFTER_MATURITY",
              "LOAN_PRODUCT_INDEX_RATE_SETTINGS_ACCRUE_INTEREST_AFTER_MATURITY_MISMATCH",
              "LOAN_PRODUCT_NON_POSITIVE_FLOOR_OR_CEILING_VALUE",
              "LOAN_PRODUCT_FLOOR_VALUE_GREATER_THAN_CEILING_VALUE",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_PAYMENT_METHOD",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_AMORTIZATION_METHOD",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_LATE_PAYMENT_RECALCULATION_METHOD",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_REPAYMENT_ALLOCATION_ORDER",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_PREPAYMENT_SETTINGS_PREPAYMENT_ACCEPTANCE",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_PREPAYMENT_SETTINGS_FUTURE_PAYMENTS_ACCEPTANCE",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_AMOUNT_INVALID",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_PERCENTAGE_INVALID",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_PAYMENT_METHOD_MISMATCH",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_FLOOR_MISMATCH",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_PRINCIPAL_PAYMENT_SETTINGS_TOTAL_PAYMENT_AND_PRINCIPAL_PAYMENT_PAIR_CANNOT_BE_NULL",
              "LOAN_PRODUCT_ACCOUNTING_SETTINGS_ACCOUNTING_METHOD",
              "LOAN_PRODUCT_ACCOUNTING_SETTINGS_INTEREST_ACCRUAL_CALCULATION_CANNOT_BE_NULL",
              "LOAN_PRODUCT_ACCOUNTING_RULES_GL_ACCOUNT_CODE_MANDATORY",
              "LOAN_PRODUCT_ACCOUNTING_RULES_FINANCIAL_RESOURCE_MANDATORY",
              "LOAN_PRODUCT_PENALTY_SETTINGS_PENALTY_CALCULATION_METHOD",
              "LOAN_PRODUCT_AVAILABILITY_SETTINGS_AVAILABLE_FOR_ENTRY_CANNOT_BE_NULL",
              "LOAN_PRODUCT_AVAILABILITY_SETTINGS_BRANCH_ID_DOES_NOT_EXIST",
              "LOAN_PRODUCT_AVAILABILITY_SETTINGS_ALL_BRANCHES_CANNOT_BE_NULL",
              "LOAN_PRODUCT_AVAILABILITY_SETTINGS_ALL_BRANCHES_MUST_BE_SET",
              "LOAN_PRODUCT_CREDIT_ARRANGEMENT_REQUIREMENT_SETTINGS",
              "LOAN_PRODUCT_OFFSET_SETTINGS_ALLOW_OFFSET",
              "LOAN_PRODUCT_REDRAW_SETTINGS_ALLOW_REDRAW",
              "LOAN_PRODUCT_LOAN_AMOUNT_SETTINGS_MAX_NUMBER_OF_TRANCHES",
              "LOAN_PRODUCT_GRACE_PERIOD_SETTINGS_GRACE_PERIOD_TYPE",
              "LOAN_PRODUCT_NEW_ACCOUNT_SETTINGS_ID_GENERATOR_TYPE",
              "LOAN_PRODUCT_NEW_ACCOUNT_SETTINGS_ID_PATTERN",
              "LOAN_PRODUCT_NEW_ACCOUNT_SETTINGS_ACCOUNT_INITIAL_STATE",
              "LOAN_PRODUCT_CURRENCY_CODE",
              "LOAN_PRODUCT_CURRENCY_CODE_INVALID",
              "LOAN_PRODUCT_SCHEDULE_SETTINGS_CANNOT_BE_NULL",
              "LOAN_PRODUCT_SCHEDULE_SETTINGS_REPAYMENT_ELEMENTS_ROUNDING_METHOD_CANNOT_BE_NULL",
              "LOAN_PRODUCT_SCHEDULE_SETTINGS_BILLING_CYCLES_ENABLED_CANNOT_BE_NULL",
              "LOAN_PRODUCT_SCHEDULE_SETTINGS_PREVIEW_SCHEDULE_CANNOT_BE_NULL",
              "LOAN_PRODUCT_SCHEDULE_SETTINGS_PREVIEW_SCHEDULE_ENABLED_CANNOT_BE_NULL",
              "DUPLICATE_ID_WHEN_CREATING_LOAN_ACCOUNT",
              "LOAN_PRODUCT_CREDIT_BALANCE_INVALID_CONFIGURATION",
              "INVALID_API_CONSUMER_ID",
              "API_CONSUMER_BRANCH_CHANGE",
              "API_CONSUMER_HAS_ASSIGNED_CLIENTS_OR_GROUPS",
              "CANNOT_DELETE_SUPPORT_USER_BY_REGULAR_API_CONSUMER",
              "CANNOT_DELETE_DELIVERY_USER_BY_REGULAR_API_CONSUMER",
              "CANNOT_DELETE_API_CONSUMER_WITH_PERFORMED_ACTIVITIES",
              "API_CONSUMER_ALREADY_EXISTS",
              "CANNOT_UPDATE_API_CONSUMER_NAME",
              "INVALID_API_CONSUMER_NAME_FORMAT",
              "INVALID_API_KEY_ID",
              "MISSING_API_CONSUMER_NAME",
              "ROLE_DOES_NOT_HAVE_APIS_ACCESS",
              "INVALID_API_CONSUMER_ROLE_KEY",
              "API_CONSUMER_INVALID_PERMISSIONS",
              "API_CONSUMER_MISSING_PERMISSIONS",
              "DEADLOCK_ERROR",
              "TRANSACTION_CHANNELS_CONFIGURATION_EMPTY",
              "TRANSACTION_CHANNEL_NULL_ROLES_CONFIG",
              "DEFAULT_TRANSACTION_CHANNEL_ID",
              "BLANK_TRANSACTION_CHANNEL_ID",
              "TRANSACTION_CHANNEL_ID_LENGTH",
              "DEFAULT_TRANSACTION_CHANNEL_CONFIG_ID",
              "DEFAULT_TRANSACTION_CHANNEL_STATE",
              "DEFAULT_TRANSACTION_CHANNEL_REQUIRED",
              "TRANSACTION_CHANNEL_NAME_LENGTH",
              "TRANSACTION_CHANNEL_BLANK_NAME",
              "TRANSACTION_CHANNEL_DUPLICATE_NAME",
              "TRANSACTION_CHANNEL_STATE_BLANK",
              "TRANSACTION_CHANNEL_GL_ACCOUNT_DOES_NOT_EXIST",
              "CONSTRAINTS_BLOCK_NULL",
              "CONSTRAINT_ENTRY_NULL",
              "CONSTRAINT_USAGE_NULL",
              "INVALID_UNCONSTRAINED_USAGE",
              "INVALID_LIMITED_USAGE",
              "CONSTRAINT_MATCH_FILTER_INVALID",
              "CONSTRAINT_MATCH_FILTER_NULL",
              "AMOUNT_CONSTRAINT_INVALID_FILTER",
              "TRANSACTION_CONSTRAINT_INVALID_FILTER",
              "PRODUCT_CONSTRAINT_INVALID_FILTER",
              "BETWEEN_FILTER_INVALID_VALUES",
              "EXISTENCE_FILTER_INVALID_VALUES",
              "COMPARATOR_FILTER_INVALID_VALUES",
              "IN_FILTER_INVALID_VALUES",
              "LOANS_IN_FILTER_INVALID_ID",
              "SAVINGS_IN_FILTER_INVALID_ID",
              "LOANS_IN_FILTER_INVALID_TYPE_VALUE",
              "SAVINGS_IN_FILTER_INVALID_TYPE_VALUE",
              "ACCESS_RIGHTS_BLANK",
              "ACCESS_RIGHTS_ALL_USERS_BLANK",
              "ACCESS_RIGHTS_ALL_USERS_FALSE",
              "ACCESS_RIGHTS_BLANK_ROLE_ID",
              "ACCESS_RIGHTS_DUPLICATE_ROLE_ID",
              "ACCESS_RIGHTS_INVALID_ROLE_ID",
              "ACCESS_RIGHTS_ALL_USERS_TRUE",
              "END_OF_DAY_PROCESSING_NULL_PROCESSING_METHOD",
              "END_OF_DAY_PROCESSING_INVALID_FORMAT",
              "END_OF_DAY_PROCESSING_ACCOUNTING_CUT_OFF_FEATURE",
              "END_OF_DAY_PROCESSING_METHOD_NOT_ENABLED",
              "END_OF_DAY_PROCESSING_METHOD_ENABLED",
              "INDEX_RATES_EMPTY_CONFIGURATION",
              "INDEX_RATE_SOURCE_NULL_ENTRY",
              "INDEX_RATE_SOURCE_NULL_RATES",
              "INDEX_RATE_SOURCE_ID_INVALID",
              "INDEX_RATE_SOURCE_ID_DUPLICATE",
              "INDEX_RATE_SOURCE_NAME_EMPTY",
              "INDEX_RATE_SOURCE_NAME_TOO_LONG",
              "INDEX_RATE_SOURCE_NOTES_TOO_LONG",
              "INDEX_RATE_SOURCE_NAME_DUPLICATE",
              "INDEX_RATE_SOURCE_TYPE_INCORRECT",
              "INDEX_RATE_SOURCE_TYPE_IN_USE",
              "INDEX_RATE_CANNOT_BE_CHANGED",
              "INDEX_RATE_ID_INVALID",
              "INDEX_RATE_ID_DUPLICATE",
              "INDEX_RATE_RATE_EMPTY",
              "INDEX_RATE_RATE_RANGE_VIOLATION",
              "INDEX_RATE_NOTES_TOO_LONG",
              "INDEX_RATE_START_DATE_EMPTY",
              "INDEX_RATE_START_DATE_DUPLICATE",
              "INDEX_RATE_START_DATE_BEFORE_REVIEWED_DATE",
              "PAYMENT_HOLIDAYS_ARE_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PLANNED_FEE_DEFINED",
              "PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_INSTALLMENTS_THAT_HAVE_PLANNED_FEE_DEFINED",
              "INSTALLMENT_WITH_PLANNED_FEES_DELETED",
              "PRODUCT_DOES_NOT_ALLOW_PLANNED_FEES",
              "DUPLICATE_PLANNED_INSTALLMENT_FEES",
              "PLANNED_FEE_INSTALLMENT_NUMBER_INVALID",
              "UPDATE_ONLY_PLANNED_FEES_MODE",
              "CREATE_ONLY_PLANNED_FEES_MODE",
              "PLANNED_FEE_ENCODED_KEY_INVALID",
              "CANNOT_APPLY_PLANNED_FEES",
              "APPLY_ON_DATE_INVALID",
              "APPLY_ON_DATE_MUST_BE_NULL",
              "CANNOT_UNDO_DISBURSMENT_WITH_PLANNED_FEES_APPLY_ON_DATE",
              "PAYMENT_HOLIDAYS_ADJUSTMENT_IS_NOT_ALLOWED_FOR_LAST_INSTALLMENT_WITH_KEEP_SAME_LOAN_TERM_ENABLED",
              "LOAN_PRODUCT_INVALID_NUMBER_OF_IOF_FEES",
              "LOAN_PRODUCT_IOF_FEES_NOT_ALLOWED_FOR_PRODUCT",
              "LOAN_PRODUCT_NO_TAX_CALCULATION_ALLOWED_FOR_IOF_FEES",
              "LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_PRODUCT_WITH_IOF_FEES",
              "LOAN_PRODUCT_INVALID_IOF_FEE_PERCENTAGE",
              "CURRENCY_CODE_EXCEEDS_LENGTH",
              "CURRENCY_CODE_CANNOT_BE_BLANK",
              "CURRENCY_CODE_CONTAINS_INVALID_CHARACTERS",
              "CURRENCY_NAME_LENGTH_OUTSIDE_CONSTRAINTS",
              "DECIMAL_DIGITS_OUTSIDE_CONSTRAINTS",
              "CUSTOMISABLE_CURRENCIES_FEATURES_NOT_ENABLED",
              "DUPLICATE_CURRENCY_CODE",
              "CURRENCY_TYPE_REQUIRED",
              "INVALID_FIAT_CURRENCY_TYPE",
              "INVALID_CUSTOM_CURRENCY_TYPE",
              "CURRENCY_CRYPTO_FEATURE",
              "CURRENCY_NON_TRADITIONAL_CURRENCIES_FEATURE",
              "CURRENCY_CANNOT_BE_FIAT",
              "CURRENCY_TYPE_NULL",
              "CURRENCY_INVALID_FIAT_TYPE",
              "CURRENCY_INVALID_DIGITS_AFTER_DECIMAL",
              "INVALID_CURRENCY_HOLIDAYS",
              "LOAN_PRODUCT_NO_OPTION_SPECIFIED",
              "LOAN_PRODUCT_HYBRID_GROUP_AND_INDIVIDUAL_OR_PURE_GROUP",
              "LOAN_PRODUCT_HYBRID_GROUP_NOT_AVAILABLE_FOR_TRANCHED_LOAN",
              "LOAN_PRODUCT_HYBRID_GROUP_NOT_AVAILABLE_FOR_OFFSET_LOAN",
              "LOAN_PRODUCT_HYBRID_GROUP_NOT_AVAILABLE_FOR_DBEI_CAPITALIZED_INTEREST",
              "LOAN_PRODUCT_HYBRID_GROUP_NOT_AVAILABLE_WHEN_REDRAW_ENABLED",
              "LOAN_PRODUCT_DOES_NOT_EXIST",
              "LOAN_PRODUCT_NOT_ACTIVATED",
              "LOAN_PRODUCT_EMPTY_ID",
              "LOAN_PRODUCT_EMPTY_NAME",
              "LOAN_PRODUCT_USER_NOT_AUTHORIZED",
              "LOAN_PRODUCT_LOAN_AMOUNT_OUTSIDE_CONSTRAINTS",
              "LOAN_PRODUCT_NON_POSITIVE_LOAN_AMOUNT",
              "LOAN_PRODUCT_NON_POSITIVE_MIN_LOAN_AMOUNT",
              "LOAN_PRODUCT_NON_POSITIVE_MAX_LOAN_AMOUNT",
              "LOAN_PRODUCT_INVALID_LOAN_AMOUNT_MIN_MAX_DEFAULT_TUPLE",
              "LOAN_PRODUCT_LOAN_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING",
              "LOAN_PRODUCT_NON_POSITIVE_DEFAULT_INTEREST_RATE",
              "LOAN_PRODUCT_NON_POSITIVE_MIN_INTEREST_RATE",
              "LOAN_PRODUCT_NON_POSITIVE_MAX_INTEREST_RATE",
              "LOAN_PRODUCT_INVALID_INTEREST_RATE_MIN_MAX_DEFAULT_TUPLE",
              "LOAN_PRODUCT_NEGATIVE_PENALTY_RATE",
              "LOAN_PRODUCT_PENALTY_RATE_OUTSIDE_CONSTRAINTS",
              "LOAN_PRODUCT_INVALID_PENALTY_RATE",
              "LOAN_PRODUCT_NON_POSITIVE_DEFAULT_PENALTY_RATE",
              "LOAN_PRODUCT_NON_POSITIVE_MIN_PENALTY_RATE",
              "LOAN_PRODUCT_NON_POSITIVE_MAX_PENALTY_RATE",
              "LOAN_PRODUCT_INVALID_PENALTY_RATE_MIN_MAX_DEFAULT_TUPLE",
              "LOAN_PRODUCT_PENALTY_METHOD_NOT_ALLOWED_BY_PRODUCT",
              "LOAN_PRODUCT_NON_POSITIVE_DEFAULT_INSTALLMENT",
              "LOAN_PRODUCT_NON_POSITIVE_MIN_INSTALLMENT",
              "LOAN_PRODUCT_NON_POSITIVE_MAX_INSTALLMENT",
              "LOAN_PRODUCT_INVALID_INSTALLMENTS_MIN_MAX_DEFAULT_TUPLE",
              "LOAN_PRODUCT_SCHEDULE_DUE_DATES_METHOD_MISMATCH",
              "LOAN_PRODUCT_FIXED_DAYS_OF_MONTH_MISMATCH",
              "LOAN_PRODUCT_SHORT_MONTH_HANDLING_METHOD_MISMATCH",
              "LOAN_PRODUCT_NUMBER_OF_REPAYMENTS_OUTSIDE_CONSTRAINTS",
              "LOAN_PRODUCT_NON_POSITIVE_NUMBER_OF_REPAYMENTS",
              "LOAN_PRODUCT_NON_ZERO_NUMBER_OF_REPAYMENTS",
              "LOAN_PRODUCT_REPAYMENT_PERIOD_UNIT_MISMATCH",
              "LOAN_PRODUCT_INVALID_PERIOD_UNIT",
              "LOAN_PRODUCT_REPAYMENT_PERIOD_COUNT_MISMATCH",
              "LOAN_PRODUCT_EMPTY_NUMBER_OF_REPAYMENTS",
              "LOAN_PRODUCT_INVALID_FIRST_REPAYMENT_DATE",
              "LOAN_PRODUCT_PRINCIPAL_PAYMENT_INTERVAL_MISMATCH",
              "LOAN_PRODUCT_EMPTY_PRINCIPAL_PAYMENT_INTERVAL",
              "LOAN_PRODUCT_GRACE_PERIOD_TYPE_MISMATCH",
              "LOAN_PRODUCT_NON_POSITIVE_GRACE_PERIOD",
              "LOAN_PRODUCT_NON_POSITIVE_MIN_GRACE_PERIOD",
              "LOAN_PRODUCT_NON_POSITIVE_MAX_GRACE_PERIOD",
              "LOAN_PRODUCT_GRACE_PERIOD_TYPE_NOT_ALLOWED_BY_PRODUCT",
              "LOAN_PRODUCT_DEFAULT_GRACE_PERIOD_VALUE_NOT_ALLOWED",
              "LOAN_PRODUCT_MIN_GRACE_PERIOD_VALUE_NOT_ALLOWED",
              "LOAN_PRODUCT_MAX_GRACE_PERIOD_VALUE_NOT_ALLOWED",
              "LOAN_PRODUCT_GRACE_PERIOD_LENGTH_OUTSIDE_CONSTRAINTS",
              "LOAN_PRODUCT_LOAN_TYPE_MISMATCH",
              "LOAN_PRODUCT_INVALID_FIRST_REPAYMENT_DATE_OFFSET",
              "LOAN_PRODUCT_OFFSET_APPLICABLE_ONLY_FOR_INTERVAL_SCHEDULE_DUE_DATE_METHOD",
              "LOAN_PRODUCT_NON_POSITIVE_INTEREST_RATE",
              "LOAN_PRODUCT_INTEREST_RATE_OUTSIDE_CONSTRAINTS",
              "LOAN_PRODUCT_INTEREST_RATE_SHOULD_BE_ZERO",
              "LOAN_PRODUCT_INTEREST_CHARGE_FREQUENCY_MISMATCH",
              "LOAN_PRODUCT_INTEREST_RATE_SOURCE",
              "LOAN_PRODUCT_INTEREST_RATE_REVIEW_COUNT",
              "LOAN_PRODUCT_INTEREST_RATE_REVIEW_UNIT",
              "LOAN_PRODUCT_NULL_INTEREST_RATE",
              "LOAN_PRODUCT_NOT_NULL_INTEREST_RATE",
              "LOAN_PRODUCT_NULL_INTEREST_SPREAD",
              "LOAN_PRODUCT_NOT_NULL_INTEREST_SPREAD",
              "LOAN_PRODUCT_REPAYMENT_SCHEDULE_TYPE_MISMATCH",
              "LOAN_PRODUCT_PAYMENT_METHOD_MISMATCH",
              "LOAN_PRODUCT_INCONSISTENT_MAX_INSTALLMENTS_WITH_DEFAULT_PRINCIPAL_PAYMENT",
              "LOAN_PRODUCT_GRACE_MAX_INSTALLMENTS_IS_OVER_NUM_MAX_INSTALLEMENT",
              "LOAN_PRODUCT_GRACE_INSTALLMENTS_IS_OVER_NUM_INSTALLMENT",
              "LOAN_PRODUCT_EMPTY_ARREARS_TOLERANCE_PERIOD",
              "LOAN_PRODUCT_EMPTY_ARREARS_TOLERANCE_AMOUNT_PERCENTAGE",
              "LOAN_PRODUCT_ARREARS_TOLERANCE_PERIOD_OUTSIDE_CONSTRAINTS",
              "LOAN_PRODUCT_ARREARS_TOLERANCE_AMOUNT_PERCENTAGE_OUTSIDE_CONSTRAINTS",
              "LOAN_PRODUCT_INCONSISTENT_ARREARS_TOLERANCE_PERIOD_SETUP",
              "LOAN_PRODUCT_INCONSISTENT_TOLERANCE_PERCENTAGE_WITH_FLOOR_AMOUNT",
              "LOAN_PRODUCT_NOT_A_READ_ONLY_FIELD",
              "LOAN_PRODUCT_EMPTY_REPAYMENT_PERIOD",
              "LOAN_PRODUCT_NON_POSITIVE_REQUIRED_GUARANTY_PERCENTAGE",
              "LOAN_PRODUCT_GUARANTORS_NOT_ALLOWED_FOR_PRODUCT_IN_FOREIGN_CURRENCY",
              "LOAN_PRODUCT_INVALID_ELEMENTS_ROUNDING_METHOD",
              "LOAN_PRODUCT_LOCKED_LOAN_ACCOUNT",
              "LOAN_PRODUCT_INVESTOR_FUNDED_LOAN_ACCOUNT",
              "LOAN_PRODUCT_INVALID_PRODUCT_WITH_FUNDING_SOURCE_DISABLED",
              "LOAN_PRODUCT_PAYMENT_PLAN_NOT_ALLOWED_FOR_PRODUCT_TYPE",
              "LOAN_PRODUCT_PAYMENT_PLAN_NOT_EDITABLE",
              "LOAN_PRODUCT_CUSTOM_PAYMENT_ALLOCATION_NOT_ALLOWED_FOR_PRODUCT_TYPE",
              "LOAN_PRODUCT_INVALID_PENALTY_CALCULATION_METHOD_FOR_REPAYMENTS_SCHEDULE_METHOD",
              "LOAN_PRODUCT_INVALID_ROUNDING_REPAYMENT_SCHEDULE_METHOD",
              "LOAN_PRODUCT_INVALID_ROUNDING_REPAYMENT_CURRENCY_FOR_PRODUCT",
              "LOAN_PRODUCT_INVALID_NEW_ACCOUNT_STATE",
              "LOAN_PRODUCT_EMPTY_INTEREST_SETTINGS",
              "LOAN_PRODUCT_INTEREST_APPLICATION_METHOD_NOT_EDITABLE",
              "LOAN_PRODUCT_REPAYMENT_RESCHEDULING_METHOD_NOT_EDITABLE",
              "LOAN_PRODUCT_EMPTY_REPAYMENT_RESCHEDULING_METHOD",
              "LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_FLAT_AMOUNTS_TUPLE",
              "LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_TUPLE",
              "LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_PERCENTAGE_VALUE",
              "LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_FLOOR_AMOUNT",
              "LOAN_PRODUCT_INVALID_PRINCIPAL_PAYMENT_CEILING_AMOUNT",
              "LOAN_PRODUCT_INCONSISTENT_PRINCIPAL_PAYMENT_FLOOR_CEILING_AMOUNTS",
              "LOAN_PRODUCT_MISSING_FIXED_DAYS_OF_MONTH",
              "LOAN_PRODUCT_INTEREST_BALANCE_CALCULATION_METHOD_NOT_ALLOWED",
              "LOAN_PRODUCT_DAYS_IN_YEAR_METHOD_NOT_ALLOWED",
              "LOAN_PRODUCT_AMORTIZATION_PROFILE_ON_FEES_NOT_ALLOWED",
              "LOAN_PRODUCT_INCONSISTENT_INTEREST_CALCULATION_METHOD",
              "LOAN_PRODUCT_INCONSISTENT_INTEREST_RATE_SOURCE_TYPE",
              "LOAN_PRODUCT_INCONSISTENT_SCHEDULE_DUE_DATES_METHOD",
              "LOAN_PRODUCT_INCONSISTENT_SCHEDULE_EDIT_OPTIONS",
              "LOAN_PRODUCT_INCONSISTENT_LATE_REPAYMENTS_RECALCULATION_METHOD",
              "LOAN_PRODUCT_FUTURE_PREPAYMENTS_NOT_ALLOWED",
              "LOAN_PRODUCT_NON_POSITIVE_CAPPING_PERCENTAGE",
              "LOAN_PRODUCT_NON_POSITIVE_INTEREST_COMMISSION",
              "LOAN_PRODUCT_ORGANIZATION_INTEREST_COMMISSION_INTERVAL_MISMATCH",
              "LOAN_PRODUCT_ORGANIZATION_INTEREST_COMMISSION_MUST_BE_ZERO",
              "LOAN_PRODUCT_ORGANIZATION_INTEREST_COMMISSION_MUST_BE_NULL",
              "LOAN_PRODUCT_MISSING_REPAYMENT_AMOUNT_FLOOR",
              "LOAN_PRODUCT_PRINCIPAL_PAYMENT_METHOD_CANNOT_BE_CHANGED_FOR_PRODUCTS_WITH_ACCOUNTS",
              "LOAN_PRODUCT_INVALID_PREPAYMENT_RECALCULATION_METHOD",
              "LOAN_PRODUCT_PRINCIPAL_PAID_INSTALLMENT_STATUS_SHOULD_BE_NULL",
              "LOAN_PRODUCT_INVALID_PRINCIPAL_PAID_INSTALLMENT_STATUS",
              "LOAN_PRODUCT_APPLY_INTEREST_ON_PREPAYMENT_METHOD_CANNOT_BE_NULL",
              "LOAN_PRODUCT_APPLY_INTEREST_ON_PREPAYMENT_METHOD_SHOULD_BE_NULL",
              "LOAN_PRODUCT_INVALID_APPLY_INTEREST_ON_PREPAYMENT_METHOD",
              "LOAN_PRODUCT_INTEREST_RATE_SHOULD_BE_NULL",
              "LOAN_PRODUCT_NUMBER_OF_INSTALLMENTS_SHOULD_BE_NULL",
              "LOAN_PRODUCT_INVALID_REPAYMENT_INTEREST_DAYS_COUNT_METHOD",
              "LOAN_PRODUCT_INVALID_PRINCIPAL_REPAYMENT_INTERVAL",
              "LOAN_PRODUCT_INVALID_INTEREST_CHARGE_FREQUENCY_METHOD_MUST_BE_NULL",
              "LOAN_PRODUCT_INVALID_DAYS_IN_YEARS_METHOD_MUST_BE_NULL",
              "LOAN_PRODUCT_INCONSISTENT_FEE_CALCULATION_METHOD_WITH_INCLUDE_FEE_IN_FLOOR_AMOUNT_OPTION_ENABLED",
              "LOAN_PRODUCT_INCONSISTENT_FEE_CALCULATION_METHOD_WITH_TOTAL_BALANCE_OPTION_ENABLED",
              "LOAN_PRODUCT_INCONSISTENT_LATE_REPAYMENT_FEE_TRIGGER_WITH_TOTAL_BALANCE_OPTION_ENABLED",
              "LOAN_PRODUCT_INCONSISTENT_AMORTIZATION_ACCOUNTING_SETUP",
              "LOAN_PRODUCT_PAYMENT_DUE_FEES_ON_DUE_DATES_NOT_ALLOWED_AT_RESCHEDULE_REFINANCE",
              "LOAN_PRODUCT_ONLY_ACCRUE_LATE_INTEREST_OPTION_IS_ALLOWED",
              "LOAN_PRODUCT_INTEREST_TYPE_NOT_ALLOWED",
              "LOAN_PRODUCT_INCONSISTENT_PRINCIPAL_PAYMENT_SETTINGS_FIELD_VALUE_WITH_PAYMENT_METHOD_TYPE",
              "LOAN_PRODUCT_AMOUNT_ONLY_AVAILABLE_FOR_FLAT_PRINCIPAL_PAYMENT_METHOD",
              "LOAN_PRODUCT_PERCENTAGE_ONLY_AVAILABLE_FOR_PERCENTAGE_PRINCIPAL_PAYMENT_METHOD",
              "LOAN_PRODUCT_INVALID_PRODUCT_CONFIGURATION_FOR_ADJUST_INTEREST_FOR_FIRST_INSTALLMENT_OPTION",
              "LOAN_PRODUCT_INVALID_SCHEDULE_DAYS_COUNT_FOR_ADJUST_INTEREST_FOR_FIRST_INSTALLMENT_OPTION",
              "LOAN_PRODUCT_ADJUST_INTEREST_FOR_THE_FIRST_INSTALLMENT_WHEN_PERIOD_IS_DIFFERENT_THAN_THE_REPAYMENT_PERIOD_FEATURE_IS_DISABLED",
              "LOAN_PRODUCT_INVALID_ACCOUNTING_METHOD",
              "LOAN_PRODUCT_MISSING_RULE",
              "LOAN_PRODUCT_NOT_REQUIRED_RULE",
              "LOAN_PRODUCT_HEADER_ACCOUNT_NOT_ALLOWED",
              "LOAN_PRODUCT_INVALID_GLACCOUNT_TYPE",
              "LOAN_PRODUCT_RULE_WITHOUT_GLACCOUNT",
              "LOAN_PRODUCT_INVALID_INTEREST_ACCRUED_METHOD",
              "LOAN_PRODUCT_DEPOSIT_INTEREST_FEATURE_IS_DISABLED",
              "LOAN_PRODUCT_INVALID_INTEREST_ACCRUAL_CALCULATION",
              "LOAN_PRODUCT_GLACCOUNTS_ARE_NOT_IN_ORGANIZATION_OR_PRODUCT_CURRENCY",
              "LOAN_PRODUCT_GLACCOUNTS_ARE_NOT_IN_PRODUCT_CURRENCY",
              "LOAN_PRODUCT_INCONSISTENT_GLACCOUNTS_CURRENCY_SETUP",
              "LOAN_PRODUCT_INCONSISTENT_FEE_GLACCOUNTS_CURRENCY_SETUP",
              "LOAN_PRODUCT_EMPTY_BRANCHES_LIST_AND_ALL_BRANCHES_IS_FALSE",
              "LOAN_PRODUCT_NON_EMPTY_BRANCHES_LIST_AND_ALL_BRANCHES_IS_TRUE",
              "LOAN_PRODUCT_DUPLICATES_IN_THE_BRANCHES_LIST",
              "LOAN_PRODUCT_INACTIVE_BRANCH_IN_BRANCHES_LIST",
              "LOAN_PRODUCT_INCONSISTENT_REDRAW_SETTINGS_WITH_PRODUCT_CONFIGURATION",
              "LOAN_PRODUCT_INCONSISTENT_REDRAW_SETTINGS_WITH_REDRAW_FACILITY",
              "LOAN_PRODUCT_REDRAW_AND_OFFSET_SETTINGS_ENABLED_SIMULTANEOUSLY",
              "LOAN_PRODUCT_LINKING_NOT_AVAILABLE_WHEN_REDRAW_ENABLED",
              "LOAN_PRODUCT_FUNDING_SOURCES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED",
              "LOAN_PRODUCT_TAXES_NOT_AVAILABLE_WHEN_REDRAW_ENABLED",
              "LOAN_PRODUCT_INCONSISTENT_OFFSET_SETTINGS_WITH_PRODUCT_CONFIGURATION",
              "LOAN_PRODUCT_INCONSISTENT_OFFSET_SETTINGS_WITH_OFFSET_FEATURE",
              "LOAN_PRODUCT_FUNDING_SOURCES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED",
              "LOAN_PRODUCT_TAXES_NOT_AVAILABLE_WHEN_OFFSET_ENABLED",
              "LOAN_PRODUCT_LINKING_IS_MANDATORY_WHEN_OFFSET_ENABLED",
              "LOAN_PRODUCT_LINKED_DEPOSIT_PRODUCT_DOES_NOT_EXIST",
              "LOAN_PRODUCT_LINKED_DEPOSIT_PRODUCT_DOES_NOT_ALLOW_OFFSET",
              "LOAN_PRODUCT_OFFSET_NOT_ALLOWED_FOR_PRODUCT_IN_FOREIGN_CURRENCY",
              "LOAN_PRODUCT_REDRAW_OFFSET_SIMULTANEOUSLY_INVALID_SETTLEMENT_OPTIONS",
              "LOAN_PRODUCT_INVALID_SETTINGS",
              "LOAN_PRODUCT_TOTAL_AMOUNT_NOT_EQUAL_WITH_LOAN_AMOUNT",
              "LOAN_PRODUCT_TOTAL_AMOUNT_MORE_THAN_LOAN_AMOUNT",
              "LOAN_PRODUCT_INVALID_TOTAL_AMOUNT",
              "LOAN_PRODUCT_INVALID_DISBURSEMENT_DATE",
              "LOAN_PRODUCT_DISBURSEMENT_DATE_IN_HOLIDAY",
              "LOAN_PRODUCT_NO_TRANCHE_ALLOWED",
              "LOAN_PRODUCT_NO_TRANCHE_DEFINED",
              "LOAN_PRODUCT_MORE_TRANCHES_THAN_ALLOWED",
              "LOAN_PRODUCT_AMOUNT_DECIMALS_NOT_ALLOWED_WITH_ROUNDING",
              "LOAN_PRODUCT_DISBURSEMENT_DATE_AFTER_LAST_REPAYMENT_DUE_DATE",
              "LOAN_PRODUCT_NO_INSTALLMENT_TO_ALLOCATE_PRINCIPAL",
              "LOAN_PRODUCT_NOT_FOUND",
              "LOAN_PRODUCT_ALREADY_DISBURSED",
              "LOAN_PRODUCT_INVALID_INDEX",
              "LOAN_PRODUCT_DISBURSED_FOR_LOAN_GROUP",
              "LOAN_PRODUCT_CANNOT_DELETE_DISBURSED_TRANCHE",
              "LOAN_PRODUCT_DISBURSED_TRANCHE_AFTER_NOT_DISBURSED_TRANCHE",
              "LOAN_PRODUCT_DISBURSEMENT_DATE_BEFORE_NOT_REVERSED_TRANSACTION",
              "LOAN_PRODUCT_INVALID_ACCOUNT_STATE",
              "LOAN_PRODUCT_CANNOT_MODIFY_TRANCHES_ON_RESCHEDULED_REFINANCED_ACCOUNTS",
              "LOAN_PRODUCT_AMOUNT_SHOULD_BE_STRICT_POSITIVE",
              "LOAN_PRODUCT_BALLOON_PAYMENT_NOT_ALLOWED",
              "LOAN_PRODUCT_OPTIMIZED_PAYMENT_NOT_ALLOWED",
              "LOAN_PRODUCT_OPTIMIZED_PAYMENT_ALLOWED_ONLY_WITH_FIXED_INTEREST_SOURCE_RATE",
              "LOAN_PRODUCT_OPTIMIZED_PAYMENT_ALLOWED_ONLY_WITH_INTERVAL_SCHEDULE_DUE_DATES_METHOD",
              "LOAN_PRODUCT_OPTIMIZED_PAYMENT_ALLOWED_ONLY_WITH_TAXES_DISABLED",
              "LOAN_PRODUCT_ACCRUE_INTEREST_AFTER_MATURITY_IS_MANDATORY",
              "LOAN_PRODUCT_ACCRUE_INTEREST_AFTER_MATURITY_AVALAIBLE_ONLY_FOR_FIXED_LOANS_WITH_INTEREST_APPLIED_ON_REPAYMENT",
              "LOAN_PRODUCT_ARBITRARY_FEE_NOT_ALLOWED",
              "LOAN_PRODUCT_INCOMPATIBLE_FIELDS",
              "LOAN_PRODUCT_INVALID_FIXED_ACCOUNT_REPAYMENT",
              "LOAN_PRODUCT_NOT_POSITIVE_LOAN_BALANCE",
              "LOAN_PRODUCT_INVALID_AMOUNT",
              "LOAN_PRODUCT_FULL_TERM_FEE_CANNOT_BE_AMORTIZED_DUE_TO_APPLICATION_DATE",
              "LOAN_PRODUCT_INVALID_AMORTIZATION_PROFILE",
              "LOAN_PRODUCT_AMORTIZATION_PROFILE_NOT_ALLOWED",
              "LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY",
              "LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT",
              "LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY_INTERVAL_TYPE",
              "LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT",
              "LOAN_PRODUCT_INVALID_AMORTIZATION_FREQUENCY_PREDEFINED_INTERVALS_UNIT",
              "LOAN_PRODUCT_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_COUNT_NOT_ALLOWED",
              "LOAN_PRODUCT_AMORTIZATION_FREQUENCY_CUSTOM_INTERVAL_PERIOD_UNIT_NOT_ALLOWED",
              "LOAN_PRODUCT_INVALID_AMORTIZATION_SETTINGS",
              "LOAN_PRODUCT_AMORTIZATION_SETTINGS_NOT_ALLOWED",
              "LOAN_PRODUCT_CANNOT_USE_EFFECTIVE_INTEREST_RATE_FEE_WITHOUT_INTEREST_RATE_VALUE",
              "LOAN_PRODUCT_AMORTIZATION_FREQUENCY_INTERVAL_TYPE_NOT_ALLOWED",
              "LOAN_PRODUCT_AMORTIZATION_FREQUENCY_INTERVAL_COUNT_NOT_ALLOWED",
              "LOAN_PRODUCT_INVALID_FEE_APPLICATION",
              "LOAN_PRODUCT_INCONSISTENT_STATE_OF_ORIGINAL_SCHEDULE_FOR_FEE_APPLICATION",
              "LOAN_PRODUCT_INVALID_FEE_AMORTIZATION_UPON_RESCHEDULE_OPTION",
              "LOAN_PRODUCT_FEE_AMORTIZATION_UPON_RESCHEDULE_OPTION_IS_MANDATORY",
              "LOAN_PRODUCT_FEE_TRIGGER_NOT_ALLOWED",
              "LOAN_PRODUCT_FEE_AMOUNT_ALREADY_DEFINED_IN_PRODUCT",
              "LOAN_PRODUCT_CUSTOM_AMOUNT_IS_MANDATORY",
              "LOAN_PRODUCT_FEE_AMOUNT_MUST_BE_STRICTLY_POSITIVE",
              "LOAN_PRODUCT_INVALID_FEE_KEY",
              "LOAN_PRODUCT_FEE_NOT_ALLOWED",
              "LOAN_PRODUCT_FEE_NOT_ACTIVE",
              "LOAN_PRODUCT_PAYMENT_DUE_FEES_ON_DUE_DATES_TRIGGER_NOT_ALLOWED",
              "LOAN_PRODUCT_FEE_AMORTIZATION_PROFILE_CANNOT_BE_CHANGED",
              "LOAN_PRODUCT_FEE_AMORTIZATION_FREQUENCY_CANNOT_BE_CHANGED",
              "LOAN_PRODUCT_FEE_AMORTIZATION_PROFILE_IS_NOT_PROVIDED",
              "LOAN_PRODUCT_MANUAL_PLANNED_NOT_ALLOWED_FOR_PRODUCT",
              "LOAN_PRODUCT_NEGATIVE_DEFAULT_INTEREST_RATE",
              "LOAN_PRODUCT_NEGATIVE_MIN_INTEREST_RATE",
              "LOAN_PRODUCT_NEGATIVE_MAX_INTEREST_RATE",
              "LOAN_PRODUCT_DEFAULT_MIN_MAX_NOT_AVAILABLE",
              "LOAN_PRODUCT_INTEREST_RATE_TERMS_ARE_READONLY",
              "LOAN_PRODUCT_INTEREST_CALCULATION_BALANCE_METHOD_READONLY",
              "LOAN_PRODUCT_INTEREST_CALCULATION_BALANCE_METHOD_NOT_ALLOWED",
              "LOAN_PRODUCT_NO_INDEX_RATE_AVAILABLE",
              "LOAN_PRODUCT_INVALID_INTEREST_RATE_SOURCE",
              "LOAN_PRODUCT_INVALID_INTEREST_REVIEW_COUNT",
              "LOAN_PRODUCT_INVALID_INTEREST_REVIEW_UNIT",
              "LOAN_PRODUCT_INVALID_INTEREST_PAYMENT_POINT",
              "LOAN_PRODUCT_INVALID_COMPOUNDING_FREQUENCY",
              "LOAN_PRODUCT_INVALID_INTEREST_TYPE",
              "LOAN_PRODUCT_TIERED_BAND_AVAILABLE_ONLY_FOR_CURRENT_ACCOUNT",
              "LOAN_PRODUCT_OVERDRAFT_OR_TECHNICAL_OVERDRAFT_MANDATORY_FOR_TIERED_BAND",
              "LOAN_PRODUCT_ADJUSTABLE_INTEREST_RATES_TOGGLE_NOT_ENABLED",
              "LOAN_PRODUCT_INCONSISTENT_INTEREST_SETTINGS_WITH_ADJUSTABLE_INTEREST_RATES",
              "LOAN_PRODUCT_INVALID_INTEREST_FLOOR_VALUE",
              "LOAN_PRODUCT_INVALID_INTEREST_CEILING_VALUE",
              "LOAN_PRODUCT_INVALID_INDEX_RATE_SOURCE_KEY",
              "LOAN_PRODUCT_ADJUSTABLE_INTEREST_RATES_NOT_SUPPORTED_FOR_PRODUCT_SETUP",
              "LOAN_PRODUCT_DOES_NOT_ALLOW_MULTIPLE_FIXED_INTEREST_RATES",
              "LOAN_PRODUCT_DOES_NOT_ALLOW_SAME_INDEX_SOURCE_FOR_MULTIPLE_INDEX_INTEREST_RATES",
              "LOAN_PRODUCT_DELETING_ADJUSTABLE_INTEREST_RATES_NOT_ALLOWED_FOR_PRODUCT_WITH_ACTIVE_ACCOUNTS",
              "LOAN_PRODUCT_INTEREST_RATE_REVIEW_UNIT_IS_MANDATORY_FOR_INDEX_INTEREST_RATE",
              "LOAN_PRODUCT_INTEREST_RATE_REVIEW_COUNT_IS_MANDATORY_FOR_INDEX_INTEREST_RATE",
              "LOAN_PRODUCT_INVALID_ENCODED_KEY_FOR_INTEREST_RATE",
              "LOAN_PRODUCT_NO_INDEX_RATE_SOURCE_AVAILABLE",
              "LOAN_PRODUCT_INDEX_INTEREST_RATE_AVAILABLE_ONLY_FOR_FIXED_INTEREST_TERMS",
              "LOAN_PRODUCT_NEGATIVE_INTEREST_RATE_MANDATORY_FOR_INDEX_INTEREST_RATE",
              "LOAN_PRODUCT_INDEX_RATE_FOR_REGULAR_INTEREST_FEATURE_DISABLED",
              "LOAN_PRODUCT_SETTINGS_FOR_INDEXED_INTEREST_RATE_SOURCE_DEFINED_FOR_FIXED_INTEREST_RATE_SOURCE",
              "LOAN_PRODUCT_READONLY_INTEREST_SETTINGS_FIELDS",
              "LOAN_PRODUCT_INTEREST_RATE_SOURCE_IS_MANDATORY",
              "LOAN_PRODUCT_CURRENCY_NOT_DEFINED",
              "LOAN_PRODUCT_BASE_CURRENCY_CANNOT_BE_REMOVED",
              "LOAN_PRODUCT_CURRENCY_IN_USE_CANNOT_BE_REMOVED",
              "LOAN_PRODUCT_CURRENCY_CANNOT_BE_CHANGED",
              "LOAN_PRODUCT_ONLY_ORGANISATION_BASE_CURRENCY_IS_ALLOWED",
              "LOAN_PRODUCT_MULTIPLE_CURRENCIES_NOT_ALLOWED_FOR_DEPOSIT_PRODUCT",
              "LOAN_PRODUCT_TRANSACTION_AND_ACCOUNT_CURRENCY_MISMATCH",
              "LOAN_PRODUCT_CURRENCY_NOT_FOUND",
              "LOAN_PRODUCT_DUPLICATE_CLIENT_ID",
              "LOAN_PRODUCT_ACCOUNT_ID_ALREADY_IN_USE",
              "LOAN_PRODUCT_INVALID_GROUP_ID",
              "LOAN_PRODUCT_GROUP_ID_ALREADY_IN_USE",
              "LOAN_PRODUCT_ID_ALREADY_IN_USE",
              "LOAN_PRODUCT_ROLE_ID_ALREADY_IN_USE",
              "LOAN_PRODUCT_LATE_PAYMENT_RECALCULATION_METHOD_INVALID_VALUE",
              "LOAN_PRODUCT_LATE_PAYMENT_RECALCULATION_METHOD_NULL_VALUE",
              "LOAN_PRODUCT_NON_TAXABLE_FEE_NOT_ALLOWED",
              "LOAN_PRODUCT_NON_TAXABLE_FEE_NOT_ALLOWED_ON_FIXED_PRODUCT",
              "LOAN_PRODUCT_FEATURE_IS_DISABLED",
              "LOAN_PRODUCT_ACCOUNTING_ACTIONS_NOT_DEFINED",
              "LOAN_PRODUCT_LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_PRODUCT_WITH_IOF_FEES",
              "LOAN_PRODUCT_DUPLICATED_DISBURSEMENT_DATE",
              "LOAN_PRODUCT_DISBURSEMENT_DATES_ARE_NOT_IN_ORDER",
              "LOAN_PRODUCT_CANNOT_MODIFY_DISBURSED_TRANCHE",
              "LOAN_PRODUCT_DUPLICATE_TRANCHE_KEY",
              "LOAN_PRODUCT_CANNOT_MODIFY_TRANCHE",
              "LOAN_PRODUCT_MISSING_TRANCHE",
              "LOAN_PRODUCT_MISSING_TRANCHE_FEE",
              "LOAN_PRODUCT_NEGATIVE_LOAN_BALANCE",
              "LOAN_PRODUCT_REVIEW_COUNT_MUST_BE_GREATER_THAN_ZERO",
              "LOAN_PRODUCT_INTEREST_SETTINGS_APPLICATION_METHOD_INVALID_PARAMETERS",
              "LOAN_PRODUCT_INTEREST_APPLICATION_METHOD_MISMATCH_WITH_APPLY_INTEREST_ON_PREPAYMENT",
              "LOAN_PRODUCT_INVALID_PRODUCT_CONFIGURATION_FOR_ADJUST_TOTAL_DUE_FOR_INSTALLMENTS_WITH_DIFFERENT_INTERVAL_OPTION",
              "LOAN_PRODUCT_ADJUST_TOTAL_DUE_FOR_INSTALLMENTS_WITH_DIFFERENT_INTERVAL_FEATURE_IS_DISABLED",
              "LOAN_PRODUCT_INVALID_CONFIGURATION_FOR_USE_INTEREST_ACCRUED_AS_TOTAL_DUE_WHEN_INTERVAL_IS_DIFFERENT_OPTION",
              "LOAN_PRODUCT_PAYMENT_SETTINGS_METHOD_INVALID",
              "LOAN_PRODUCT_PMT_ADJUSTMENT_THRESHOLD_FEATURE_IS_DISABLED",
              "LOAN_PRODUCT_PMT_ADJUSTMENT_THRESHOLD_DAYS_BIGGER_THAT_INSTALLMENT_DURATION",
              "PMT_ADJUSTMENT_THRESHOLD_MISSING_VALUE",
              "PMT_ADJUSTMENT_THRESHOLD_INVALID_NUMBER_OF_DAYS",
              "ACCOUNT_WITH_NO_REPAYMENT_SCHEDULE_VERSIONING",
              "LOAN_PRODUCT_PENALTY_SETTINGS_PENALTY_CALCULATION_FUNCTION_MISSING",
              "OVERDUE_PENALTIES_ACCRUAL_MECHANISM_FEATURE_IS_DISABLED",
              "LOAN_ACCOUNT_IS_MISSING_PMT_ADJUSTMENT_THRESHOLD",
              "LOAN_ACCOUNT_IS_NOT_EDITABLE",
              "LOAN_PRODUCT_AMORTIZATION_PERIOD_OUTSIDE_CONSTRAINTS",
              "LOAN_PRODUCT_AMORTIZATION_PERIOD_IS_LESS_THAN_NUM_INSTALLMENT",
              "PMT_ADJUSTMENT_THRESHOLD_IS_NOT_SUPPORTED",
              "LOAN_ACCOUNT_NUMBER_OF_INSTALMENTS_OUTSIDE_AMORTIZATION_CONSTRAINTS",
              "INVALID_REPAYMENT_ALLOCATION_ORDER",
              "LOAN_PRODUCT_DUPLICATE_FINANCIAL_RESOURCE_ACCOUNTING_RULE",
              "LOAN_PRODUCT_DECOUPLE_INTEREST_FROM_ARREARS_IS_NOT_SUPPORTED",
              "LOAN_PRODUCT_DECOUPLE_INTEREST_FROM_ARREARS_OPTION_DISABLED",
              "LOAN_PRODUCT_DISABLING_DECOUPLE_INTEREST_FROM_ARREARS_AND_ACCRUE_LATE_INTEREST_NOT_SUPPORTED_DUE_TO_EXISTING_ACCOUNTS",
              "LOAN_PRODUCT_DECOUPLE_INTEREST_FROM_ARREARS_IS_NOT_SUPPORTED_WITHOUT_CUSTOM_REPAYMENTS",
              "FEE_CAPITALISATION_IS_ALLOWED_FOR_PRODUCTS_WITH_AT_LEAST_ONE_MANUAL_FEE",
              "FEE_CAPITALISATION_IS_ALLOWED_FOR_MANUAL_FEES",
              "FEE_CAPITALISATION_IS_NOT_ALLOWED_FOR_THIS_PRODUCT",
              "FEE_CAPITALISATION_PREDEFINED_FEE_KEY_IS_NOT_VALID",
              "FEE_CAPITALISATION_IS_NOT_ALLOWED",
              "FEES_BY_INSTALLMENT_NUMBER_IS_ONLY_APPLICABLE_FOR_LATE_INSTALLMENTS",
              "INTEREST_ONLY_EQUAL_INSTALLMENTS_LOAN_DISABLED",
              "COMPOUNDING_INTEREST_REST_METHODOLOGY_FOR_LOAN_DISABLED",
              "FEE_ALLOCATION_METHOD_ONLY_ALLOWED_WITH_MANUAL_FEE_TYPE",
              "FEE_ALLOCATION_METHOD_IS_NOT_ALLOWED_FOR_THIS_PRODUCT",
              "FEE_ALLOCATION_METHOD_IS_NOT_ALLOWED_WITHOUT_FEATURE_SUPPORT",
              "FEE_ALLOCATION_METHOD_NO_ALLOCATION_ONLY_ALLOWED_WITH_CUSTOM_REPAYMENT_ENABLED",
              "FEE_ACCOUNTING_OVERRIDE_NOT_ALLOWED_ALLOCATION_METHOD_NO_ALLOCATION",
              "FEE_ALLOCATION_METHOD_NOT_ALLOWED_FOR_LOAN_PRODUCT_WITH_LOAN_ACCOUNT",
              "FEE_INTEREST_BEARING_FLAG_NOT_ALLOWED_FOR_FEE_ALLOCATION_METHOD",
              "FEE_INTEREST_BEARING_FLAG_CHANGE_NOT_ALLOWED_FOR_LOAN_PRODUCT_WITH_LOAN_ACCOUNT",
              "FEE_CAPITALISATION_IS_NOT_ALLOWED_ON_PAID_INSTALMENTS",
              "LOAN_PRODUCT_INVALID_REPAYMENT_PERIOD_UNIT",
              "LOAN_PRODUCT_INVALID_REPAYMENT_FREQUENCY",
              "DYNAMIC_MORTGAGE_DISABLED",
              "LOAN_PRODUCT_FEE_INCLUDED_IN_PMT_NOT_ALLOWED_FOR_PRODUCT",
              "LOAN_PRODUCT_INVALID_NUMBER_OF_FEE_INCLUDED_IN_PMT_FEE",
              "LOAN_PRODUCT_NO_TAX_CALCULATION_ALLOWED_FOR_FEE_INCLUDED_IN_PMT",
              "LOAN_PRODUCT_FEE_INCLUDED_IN_PMT_NOT_ALLOWED_WITH_ADJUST_PAYMENT_HOLIDAYS",
              "LOAN_PRODUCT_NULL_FEE_RATE",
              "FEE_RATE_CHANGED_TRANSACTION_CANNOT_BE_ADJUSTED",
              "FLEXIBLE_REPAYMENT_MORTGAGE_DISABLED",
              "MFUNCTION_ALREADY_EXISTS",
              "MFUNCTION_SERVICE_NOT_READY",
              "MFUNCTION_INTERNAL_ERROR",
              "MFUNCTION_OPERATION_IN_PROGRESS",
              "MFUNCTION_MAX_FUNCTION_COUNT_LIMIT_REACHED",
              "MFUNCTION_INTERNAL_LIMIT_REACHED",
              "MFUNCTION_UNSUPPORTED_EXTENSION_POINT",
              "MFUNCTION_MAPPED_FUNCTION_CANNOT_BE_DELETED",
              "MFUNCTION_TOO_MANY_LOG_REQUESTS",
              "MFUNCTION_MAX_SUBSCRIPTION_COUNT_LIMIT_REACHED",
              "MFUNCTION_WITH_SUBSCRIPTION_CAN_NOT_BE_DELETED",
              "MFUNCTION_MAX_SUBSCRIPTION_PER_TOPIC_LIMIT_REACHED",
              "MFUNCTION_MAX_SECRET_COUNT_PER_TENANT_LIMIT_REACHED",
              "MFUNCTION_RATE_LIMIT_EXCEEDED",
              "MFUNCTION_EVENT_STREAMING_TEMPLATE_FOR_EVENT_IS_MISSING",
              "MFUNCTION_BINDING_IS_INVALID",
              "MFUNCTION_BINDING_FUNCTION_IS_MISSING",
              "MFUNCTION_BINDING_FUNCTION_IS_INACTIVE",
              "MFUNCTION_INCORRECT_EXTENSION_POINT",
              "MAMBU_FUNCTIONS_FEATURE_IS_DISABLED",
              "CUSTOM_PAYMENT_PREDEFINED_FEE_DOES_NOT_EXIST",
              "CUSTOM_PAYMENT_NOT_PROCESSED_AS_FEE_ALREADY_PAID",
              "NOT_ALLOWED_WITH_SPECIFIC_INSTALLMENT_KEY",
              "CUSTOM_PAYMENT_NOT_PROCESSED_AS_EXCEEDS_PREDEFINED_FEE_APPLIED",
              "DATA_IMPORT_DISABLED",
              "CUSTOM_REPAYMENT_NOT_PROCESSED_AS_EXCEEDS_BALANCE",
              "INVALID_CURSOR_SEARCH",
              "FEE_CAPITALIZATION_TRANSACTION_REVERSAL_IS_NOT_ALLOWED",
              "CUSTOM_FIELD_VALUES_ARCHIVED",
              "LOAN_PRODUCT_LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_PRODUCT_WITH_FEESINCLUDEDINPMT",
              "LOAN_PRODUCT_LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_FEATURE_WITH_FEESINCLUDEDINPMT",
              "LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_PRODUCT_WITH_FEESINCLUDEDINPMT",
              "LOAN_ACCOUNT_CREATION_NOT_ALLOWED_FOR_FEATURE_WITH_FEESINCLUDEDINPMT",
              "LOAN_PRODUCT_FEE_INCLUDED_IN_PMT_IS_NOT_ALLOWED",
              "FEE_INCLUDED_IN_PMT_IS_NOT_ALLOWED",
              "INVALID_PARTIAL_AUTHORISATION",
              "CUSTOM_FIELD_NON_SEARCHABLE",
              "WEBHOOK_NOTIFICATIONS_SETTINGS_DISABLED",
              "WEBHOOK_TEMPLATE_DUPLICATE_NAME",
              "INVALID_TEMPLATE_NAME",
              "INVALID_TEMPLATE_BODY",
              "NOTIFICATION_MESSAGES_IN_USE",
              "INVALID_WEBHOOK_TEMPLATE_URL",
              "NOTIFICATION_TEMPLATE_IN_USE",
              "INVALID_TRIGGER_DAYS",
              "TRIGGER_MUST_BE_AUTOMATIC_FOR_WEBHOOKS_TEMPLATES",
              "INVALID_TEMPLATE_BASIC_AUTHORIZATION_USERNAME",
              "INVALID_TEMPLATE_BASIC_AUTHORIZATION_PASSWORD",
              "INVALID_TEMPLATE_AUTHORIZATION_FIELDS",
              "CUSTOM_FILTER_DATA_FIELD_VALUE_EMPTY",
              "CUSTOM_FILTER_CONSTRAINT_DATA_TYPE_INVALID",
              "CUSTOM_FILTER_CONSTRAINT_VALUE_NOT_EMPTY",
              "CUSTOM_FILTER_CONSTRAINT_SECOND_VALUE_NOT_EMPTY",
              "CUSTOM_FILTER_CONSTRAINT_VALUE_EMPTY",
              "CUSTOM_FILTER_CONSTRAINT_SECOND_VALUE_EMPTY",
              "CUSTOM_FILTER_CONSTRAINT_VALUE_INVALID",
              "CUSTOM_FILTER_CONSTRAINT_VALUE_INVALID_CSV",
              "FILTERS_LINKING_OPERATOR_NOT_EMPTY",
              "FILTERS_LINKING_OPERATOR_EMPTY",
              "INVALID_CUSTOM_FILTER_DATA_FIELD_ENTITY_TYPE",
              "INVALID_CUSTOM_FILTER_DATA_FIELD_VALUE",
              "INVALID_CUSTOM_FILTER_VALUE",
              "INVALID_CUSTOM_FILTER_FIRST_VALUE_GREATER_THAN_SECOND_VALUE",
              "UNKNOWN_TEMPLATES_ERROR",
              "INVALID_WEBHOOK_TEMPLATE_PATCH_FIELDS",
              "INVALID_WEBHOOK_TEMPLATE_JSON",
              "WEBHOOK_TEMPLATE_PATCH_FIELDS_BREAKING_CONSTRAINTS",
              "WEBHOOK_TEMPLATE_TRIGGER_FIELD_NOT_EDITABLE",
              "WEBHOOK_TEMPLATE_TARGET_FIELD_NOT_EDITABLE",
              "WEBHOOK_TEMPLATE_EVENT_FIELD_NOT_EDITABLE",
              "WEBHOOK_TEMPLATE_OPTION_FIELD_NOT_EDITABLE",
              "WEBHOOK_TEMPLATE_ID_FIELD_NOT_EDITABLE",
              "TEMPLATE_REQUEST_HEADER_ID_FIELD_NOT_EDITABLE",
              "CUSTOM_FILTER_CONSTRAINT_ID_FIELD_NOT_EDITABLE",
              "WEBHOOK_TEMPLATE_POST_FIELDS_BREAKING_CONSTRAINTS",
              "ID_NOT_APPLICABLE",
              "CUSTOM_FILTER_NOT_SUPPORTED_FOR_EVENT",
              "WEBHOOK_TEMPLATE_OPT_OUT_OPTION_NOT_PERMITTED_FOR_CURRENT_TARGET",
              "INVALID_EVENT_FOR_TARGET",
              "ADJACENT_FEATURE_TOGGLE_DISABLED",
              "TARGET_TYPE_NOT_COMPATIBLE_WITH_FILTER_CONSTRAINTS",
              "DATA_FIELD_VALUE_NOT_APPLICABLE_FOR_CUSTOM_DATA_FIELD_TYPE",
              "REFERENCED_CUSTOM_FIELD_FOR_CUSTOM_FILTER_CONSTRAINT_NOT_FOUND",
              "CUSTOM_FIELD_NOT_APPLICABLE_FOR_NATIVE_DATA_FIELD_TYPE",
              "CUSTOM_FIELD_DATA_NOT_COMPATIBLE_WITH_FILTER_CONSTRAINT",
              "ACCOUNT_NAME_CONTAINS_UNSUPPORTED_CHARACTERS",
              "INVALID_MAXIMUM_LOAN_TERM",
              "LOAN_TERM_IS_SAME_WITH_ORIGINAL_TERM",
              "INVALID_REPAYMENT_STATE_PAYMENT_HOLIDAY",
              "DECREASED_TERM_MUST_HAVE_PENDING_INSTALLMENT",
              "DECREASED_TERM_MUST_HAVE_AT_LEAST_TWO_PENDING_INSTALLMENTS",
              "ADVANCE_PAYMENT_IS_NOT_ALLOWED",
              "INVALID_LOAN_PRODUCT_TYPE_FOR_ADVANCE_PAYMENT",
              "INVALID_INTEREST_TYPE_FOR_ADVANCE_PAYMENT",
              "INVALID_AMORTIZATION_METHOD_FOR_ADVANCE_PAYMENT",
              "INVALID_PAYMENT_METHOD_FOR_ADVANCE_PAYMENT",
              "INVALID_PREPAYMENT_ALLOCATION_METHOD_FOR_ADVANCE_PAYMENT",
              "INVALID_INTEREST_BALANCE_CALCULATION_METHOD_FOR_ADVANCE_PAYMENT",
              "LOAN_PRODUCT_ADVANCE_PAYMENT_IS_NOT_ALLOWED",
              "INVALID_ACCOUNT_FEATURE_CONFIGURATION",
              "CREDIT_BALANCE_CANNOT_BE_CHANGED",
              "INVALID_ADVANCE_REPAYMENT_ACCOUNT_IS_LATE",
              "INVALID_ADVANCE_REPAYMENT_ACCOUNT_HAS_FUTURE_PENALTY_DUE_AMOUNTS",
              "INVALID_ADVANCE_REPAYMENT_NOT_ALLOWED_BY_ACCOUNT",
              "INVALID_ADVANCE_REPAYMENT_FUTURE_PAYMENT_DATE_PROVIDED",
              "INVALID_ADVANCE_REPAYMENT_LOCKED_ACCOUNT",
              "INVALID_ADVANCE_REPAYMENT_INSTALLMENT_IS_NOT_FULLY_COVERED",
              "TOO_MANY_CONCURRENT_REQUESTS",
              "DUPLICATE_REQUEST",
              "PAYMENT_HOLIDAY_INTEREST_CANNOT_BE_APPLIED_WHEN_EQUAL_PAYMENT_HOLIDAY_INTEREST_FEATURE_IS_ENABLED",
              "INVALID_PRINCIPAL_PAID_INSTALLMENT_STATUS_FOR_ADVANCE_PAYMENT",
              "BPMN_ELEMENT_NOT_SUPPORTED",
              "BPMN_ATTRIBUTE_NOT_SUPPORTED",
              "BPMN_ATTRIBUTE_VALUE_INVALID",
              "PROCESS_EXECUTION_FAILED"
            ]
          },
          "errorSource": {
            "type": "string"
          }
        }
      },
      "RevolvingAccountCreditBalanceSettings": {
        "type": "object",
        "properties": {
          "allowDepositWithDebitBalance": {
            "type": "boolean",
            "description": "Flag indicating whether deposits are allowed when the account has a positive principal balance."
          },
          "maxCreditBalance": {
            "type": "number",
            "description": "The maximum allowed credit balance."
          },
          "revolvingAccountCreditBalanceAutoAllocationType": {
            "type": "string",
            "description": "Automatic allocation behavior for credit balance on Revolving Credit accounts.",
            "enum": [
              "NO_ALLOCATION",
              "COVER_DUE_AMOUNT",
              "COVER_BALANCE_AMOUNT"
            ]
          }
        },
        "description": "Credit balance details for a Revolving Credit loan account.",
        "readOnly": true
      },
      "RevolvingAccountSettings": {
        "type": "object",
        "properties": {
          "numberOfPreviewedInstalments": {
            "type": "integer",
            "description": "The number of previewed instalments",
            "format": "int32"
          }
        },
        "description": "The number of previewed instalments for an account"
      },
      "ScheduleSettings": {
        "required": [
          "gracePeriod"
        ],
        "type": "object",
        "properties": {
          "amortizationPeriod": {
            "type": "integer",
            "description": "The PMT is calculated as the loan would have [amortizationPeriod] installments.",
            "format": "int32"
          },
          "billingCycle": {
            "$ref": "#/components/schemas/BillingCycleDays"
          },
          "defaultFirstRepaymentDueDateOffset": {
            "type": "integer",
            "description": "The default first repayment due date offset, indicates how many days the first repayment due date should be extended(all other due dates from the schedule are relative to first repayment due date - they will also be affected by the offset)",
            "format": "int32"
          },
          "fixedDaysOfMonth": {
            "type": "array",
            "description": "Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH.",
            "items": {
              "type": "integer",
              "description": "Specifies the days of the month when the repayment due dates should be. Only available if the Repayment Methodology is FIXED_DAYS_OF_MONTH.",
              "format": "int32"
            }
          },
          "gracePeriod": {
            "type": "integer",
            "description": "The grace period. Represents the grace period for loan repayment - in number of installments.",
            "format": "int32"
          },
          "gracePeriodType": {
            "type": "string",
            "description": "The grace period type for a loan account.",
            "enum": [
              "NONE",
              "PAY_INTEREST_ONLY",
              "INTEREST_FORGIVENESS"
            ]
          },
          "hasCustomSchedule": {
            "type": "boolean",
            "description": "Flag used when the repayments schedule for the current account was determined by the user, by editing the due dates or the principal due"
          },
          "paymentPlan": {
            "type": "array",
            "description": "A list of periodic payments for the current loan account.",
            "items": {
              "$ref": "#/components/schemas/PeriodicPayment"
            }
          },
          "periodicPayment": {
            "type": "number",
            "description": "The periodic payment amount for the accounts which have balloon payments or Reduce Number of Installments and Optimized Payments"
          },
          "previewSchedule": {
            "$ref": "#/components/schemas/RevolvingAccountSettings"
          },
          "principalRepaymentInterval": {
            "type": "integer",
            "description": "The principal repayment interval. Indicates the interval of repayments that the principal has to be paid.",
            "format": "int32"
          },
          "repaymentInstallments": {
            "type": "integer",
            "description": "The repayment installments. Represents how many installments are required to pay back the loan.",
            "format": "int32"
          },
          "repaymentPeriodCount": {
            "type": "integer",
            "description": "The repayment period count. Represents how often the loan is to be repaid: stored based on the type repayment option.",
            "format": "int32"
          },
          "repaymentPeriodUnit": {
            "type": "string",
            "description": "The frequency of the loan repayment.",
            "enum": [
              "DAYS",
              "WEEKS",
              "MONTHS",
              "YEARS"
            ]
          },
          "repaymentScheduleMethod": {
            "type": "string",
            "description": "The method used  by the loans to compute the repayment schedule.",
            "enum": [
              "NONE",
              "FIXED",
              "DYNAMIC"
            ]
          },
          "scheduleDueDatesMethod": {
            "type": "string",
            "description": "The schedule due dates method. Used by the loan accounts to determine the due dates of the repayments.",
            "enum": [
              "INTERVAL",
              "FIXED_DAYS_OF_MONTH"
            ]
          },
          "shortMonthHandlingMethod": {
            "type": "string",
            "description": "The short month handling method type for a loan account.",
            "enum": [
              "LAST_DAY_IN_MONTH",
              "FIRST_DAY_OF_NEXT_MONTH"
            ]
          }
        },
        "description": "The schedule settings, holds all schedule properties."
      },
      "ServiceLevel": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "The code for a pre-agreed service or level of service between the parties"
          }
        },
        "description": "The rules under which the transaction should be processed"
      },
      "StartMaturityAction": {
        "type": "object",
        "properties": {
          "maturityDate": {
            "type": "string",
            "description": "The date when the maturity period starts.",
            "format": "date",
            "example": "1987-04-26"
          },
          "notes": {
            "type": "string",
            "description": "The notes or description attached to this object."
          }
        },
        "description": "The action to start the maturity period for a deposit account"
      },
      "Structured": {
        "type": "object",
        "properties": {
          "creditorReferenceInformation": {
            "$ref": "#/components/schemas/CreditorReferenceInformation"
          }
        },
        "description": "The information specifying the payment items that are intended to settle"
      },
      "TrancheDisbursementDetails": {
        "type": "object",
        "properties": {
          "disbursementTransactionKey": {
            "type": "string",
            "description": "The key of the disbursement transaction logged when this tranche was disbursed. This field will be null until the tranche disbursement"
          },
          "expectedDisbursementDate": {
            "type": "string",
            "description": "The date when this tranche is supposed to be disbursed (as Organization Time)",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          }
        },
        "description": "The disbursement details regarding a loan tranche."
      },
      "TransactionDetailsInput": {
        "type": "object",
        "properties": {
          "transactionChannelId": {
            "type": "string",
            "description": "The id of the transaction channel associated with the transaction details."
          },
          "transactionChannelKey": {
            "type": "string",
            "description": "The encoded key of the transaction channel associated with the transaction details."
          }
        },
        "description": "Contains the details about transaction including fields like transaction channel key and channel ID"
      },
      "TransferOwnershipAction": {
        "required": [
          "targetHolderKey"
        ],
        "type": "object",
        "properties": {
          "targetHolderKey": {
            "type": "string",
            "description": "The ID or encoded key of the new account holder."
          }
        },
        "description": "Transfer the account ownership from current account holder to a new one (client/group)."
      },
      "UndoMaturityAction": {
        "type": "object",
        "properties": {
          "notes": {
            "type": "string",
            "description": "The notes or description attached to this object."
          }
        },
        "description": "The action to undo the maturity period for a deposit account"
      },
      "WithdrawalDepositTransactionInput": {
        "required": [
          "amount"
        ],
        "type": "object",
        "properties": {
          "amount": {
            "type": "number",
            "description": "The amount to withdraw from account"
          },
          "bookingDate": {
            "type": "string",
            "description": "The date of the withdrawal when the transaction is logged into accounting. If not specified it is considered the value date",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          },
          "externalId": {
            "type": "string",
            "description": "The external id of the withdrawal transaction, customizable, unique"
          },
          "holdExternalReferenceId": {
            "type": "string",
            "description": "The external id of an account authorization hold"
          },
          "notes": {
            "type": "string",
            "description": "Extra notes about this deposit transaction"
          },
          "paymentDetails": {
            "$ref": "#/components/schemas/PaymentDetails"
          },
          "paymentOrderId": {
            "type": "string",
            "description": "The payment order id of the withdrawal transaction, customizable"
          },
          "transactionDetails": {
            "$ref": "#/components/schemas/TransactionDetailsInput"
          },
          "valueDate": {
            "type": "string",
            "description": "The entry date of the withdrawal. If not specified it is considered the current date (as Organization Time)",
            "format": "date-time",
            "example": "2016-09-06T13:37:50+03:00"
          }
        },
        "description": "Represents the input for a withdrawal transaction."
      },
      "_Example_Custom_Fields": {
        "description": "An example of some custom field values. For more information on working with custom fields using the API, see [Using Custom Fields](/api/pages/api-v2/using-custom-fields).",
        "properties": {
          "Example_Checkbox_Field": {
            "description": "A field that will appear as a checkbox in the UI. In the API, the value will be `TRUE` or `FALSE` as a string. The value must be provided as a string, not a boolean.",
            "type": "string",
            "enum": [
              "TRUE",
              "FALSE"
            ]
          },
          "Example_Free_Text_Field": {
            "description": "A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API."
          },
          "Example_Number_Field": {
            "description": "A field supporting numbers only. **Please note**: the value is to be provided as a string.",
            "type": "string",
            "format": "number"
          },
          "Example_Select_Field": {
            "description": "A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values.",
            "type": "object"
          },
          "Example_Date_Field": {
            "type": "string",
            "format": "date",
            "example": "2018-12-14",
            "description": "A date field takes a date in `YYYY-MM-DD` format."
          },
          "Example_Datetime_Field": {
            "type": "string",
            "format": "datetime",
            "example": "2018-12-14T15:30:00.000+01:30",
            "description": "A date field takes a timestamp in `YYYY-MM-DDThh:mm:ss.SSS+hh:mm` format."
          },
          "Example_UserLink_Field": {
            "type": "string",
            "description": "A user link field takes the `encodedKey` of a Mambu user."
          },
          "Example_GroupLink_Field": {
            "type": "string",
            "description": "A group link field takes the `encodedKey` of a group."
          },
          "Example_ClientLink_Field": {
            "type": "string",
            "description": "A client link field stores the `encodedKey` of a client."
          }
        },
        "example": {
          "Example_Checkbox_Field": "TRUE",
          "Example_Free_Text_Field": "A free text field up to 255 characters in length",
          "Example_Number_Field": "46290",
          "Example_Select_Field": {
            "example_option_id": "873023434",
            "example_option_value": "option 5"
          },
          "Example_Date_Field": "2018-12-14",
          "Example_Datetime_Field": "2020-12-20T15:30:00.000+01:00",
          "Example_UserLink_Field": "8a19cda5778bea6c01778c17fdff027c",
          "Example_GroupLink_Field": "8a19d63c84a36c7f0184a4f33ba85235",
          "Example_ClientLink_Field": "8a19cdac84a3a6c01778a4f33baf027c"
        }
      },
      "_Example_Grouped_CF_Set": {
        "description": "An example of grouped custom field values. These custom field sets can be added more than once, each set will have an index, which needs to be provided when adding, updating, or removing individual custom field values. For more information on working with grouped custom fields using the API, see [Grouped Custom Fields](/api/pages/api-v2/grouped-custom-field-sets).",
        "properties": {
          "_index": {
            "description": "The index for this set of grouped custom field values.",
            "type": "string",
            "format": "number"
          },
          "Example_Checkbox_Field": {
            "description": "A field that will appear as a checkbox in the UI. In the API, the value will be `TRUE` or `FALSE` as a string. The value must be provided as a string, not a boolean.",
            "type": "string",
            "enum": [
              "TRUE",
              "FALSE"
            ]
          },
          "Example_Free_Text_Field": {
            "description": "A field that can contain a string of text. Pay attention to proper JSON escaping if providing values for such fields via API."
          },
          "Example_Number_Field": {
            "description": "A field supporting numbers only. **Please note**: the value is to be provided as a string.",
            "type": "string",
            "format": "number"
          },
          "Example_Select_Field": {
            "description": "A field that supports enumerated values. Requests will fail if the value provided for such a field is not one of the supported IDs or values.",
            "type": "array"
          }
        },
        "example": {
          "Example_Checkbox_Field": "TRUE",
          "Example_Free_Text_Field": "A free text field up to 255 characters in length",
          "Example_Number_Field": "46290",
          "Example_Select_Field": [
            {
              "example_option_id": "123",
              "example_option_value": "option 1"
            },
            {
              "example_option_id": "456",
              "example_option_value": "option 7"
            }
          ],
          "_index": "0"
        }
      }
    },
    "securitySchemes": {
      "basic": {
        "type": "http",
        "scheme": "basic"
      }
    }
  }
}