{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "Harmoney API Gateway",
    "description" : "Harmoney API Gateway (software version 18.0.0)",
    "contact" : {
      "email" : "helpdesk@myharmoney.eu"
    },
    "version" : "4.6"
  },
  "security" : [ {
    "basicAuth" : [ ]
  } ],
  "paths" : {
    "/external/v4/callback-example" : {
      "post" : {
        "description" : "This cannot be called, but acts as an example of what is expected to be handled properly when using a callbackUrl.",
        "operationId" : "callback",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CallbackBodyDTO"
              }
            }
          }
        },
        "responses" : {
          "204" : {
            "description" : "Callback received"
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/information-exchanges/{informationExchangeIdentifier}" : {
      "get" : {
        "description" : "This service retrieves a single information exchange of a dossier.",
        "operationId" : "get_information_exchange",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "informationExchangeIdentifier",
          "in" : "path",
          "description" : "Generated unique identifier of an information exchange",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InformationExchangeDTO"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "description" : "This service cancels the ongoing/pending information exchange.",
        "operationId" : "cancel_information_exchange",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "informationExchangeIdentifier",
          "in" : "path",
          "description" : "Generated unique identifier of an information exchange",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "204" : {
            "description" : "The request has been successfully processed."
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/information-exchanges" : {
      "get" : {
        "description" : "This service retrieves all information exchanges of a dossier.",
        "operationId" : "get_information_exchanges",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/InformationExchangeDTO"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "description" : "This service creates a new information exchange on a dossier for a given counterparty. When a pending information exchange already exists for the same counterparty, that one is returned as-is.",
        "operationId" : "create_information_exchange",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateInformationExchangeDTO"
              }
            }
          }
        },
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/InformationExchangeDTO"
                }
              }
            }
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/information-exchanges/completions" : {
      "post" : {
        "description" : "This service posts an externally completed information exchange (with profiles) to a dossier.",
        "operationId" : "create_information_exchange_completion",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FlowCompletionResultDTO"
              }
            }
          }
        },
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "204" : {
            "description" : "The request has been successfully processed."
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/information-exchanges/{informationExchangeIdentifier}/questionnaire/answers" : {
      "get" : {
        "description" : "This service retrieves all the questionnaire answers of an information exchange.",
        "operationId" : "get_information_exchange_answers",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "informationExchangeIdentifier",
          "in" : "path",
          "description" : "Generated unique identifier of an information exchange",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FlowAnswerDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/information-exchanges/{informationExchangeIdentifier}/initiate" : {
      "post" : {
        "description" : "This service initiates an ongoing/pending information exchange by selecting a flow option, returning the url and/or code to complete it.",
        "operationId" : "initiate_information_exchange",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "informationExchangeIdentifier",
          "in" : "path",
          "description" : "Generated unique identifier of an information exchange",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FlowOptionDTO"
              }
            }
          }
        },
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FlowCompletionDTO"
                }
              }
            }
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/flow/completions" : {
      "get" : {
        "description" : "This service can be used to retrieve the results of the flow completion performed by the responsible person(s) of the dossier.",
        "operationId" : "get_flow_completion_results",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FlowCompletionResultDTO"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "description" : "This service can be used to create a new flow completion result for a dossier that has no existing flow completion results.",
        "operationId" : "create_flow_completion_result",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FlowCompletionResultDTO"
              }
            }
          }
        },
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "204" : {
            "description" : "The request has been successfully processed."
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}" : {
      "get" : {
        "description" : "This service retrieves the dossier details from an existing dossier.",
        "operationId" : "get_dossier",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "expanded",
          "in" : "query",
          "description" : "If expanded is set to true, all include options are added in the response. Default: false",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "includes",
          "in" : "query",
          "description" : "Based on the options, more detailed information will be added in the response. CLIENT is always included and cannot be removed. Default: INSURED_PERSON, DOSSIER_BANK_ACCOUNTS, INTERMEDIARY and RESPONSIBLE",
          "schema" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Include"
            }
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GatewayDossierDTO"
                }
              }
            }
          }
        }
      },
      "put" : {
        "description" : "This API-gateway service call creates or updates a dossier.",
        "operationId" : "create_update_dossier",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "callBackUrl",
          "in" : "query",
          "description" : "URL that will be called after the request has been processed",
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "updateStrategy",
          "in" : "query",
          "description" : "Select the strategy to be used for updating lists. Default: OVERWRITE",
          "schema" : {
            "$ref" : "#/components/schemas/ListUpdateStrategy"
          }
        }, {
          "name" : "automationIdentifier",
          "in" : "query",
          "description" : "Select the automation that should be executed when the dossier is created/updated. To not run any automation, provide identifier \"none\".",
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GatewayDossierDTO"
              }
            }
          }
        },
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "204" : {
            "description" : "The request has been successfully accepted and validated, the processing of the dossier will be executed in an asynchronous way"
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/flow/completions/{flowCompletionIdentifier}/questionnaire/answers" : {
      "get" : {
        "description" : "This service can be used to retrieve all the answers of a flow completion performed by the responsible person(s) of the dossier.",
        "operationId" : "get_flow_completion_questionnaire_answers",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "flowCompletionIdentifier",
          "in" : "path",
          "description" : "Unique identifier of a flow completion result",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/FlowAnswerDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/rba" : {
      "get" : {
        "description" : "This service can be used to retrieve the RBA (Risk Based Approach) results for an existing dossier (if available).",
        "operationId" : "get_dossier_rba_result",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RbaDTO"
                }
              }
            }
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/question-answers" : {
      "get" : {
        "description" : "This service retrieves the question answers of an existing dossier.",
        "operationId" : "get_dossier_question_answers",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/QuestionAnswerDTO"
                  }
                }
              }
            }
          }
        }
      },
      "put" : {
        "description" : "This API-gateway service call updates the question answers of an existing dossier. It's advised to use updateStrategy=APPEND when updating the question answers.Provided answers will only appear in the application if the question is already visible based on the form definition.Invalid answers will not be accepted by the system.",
        "operationId" : "update_dossier_question_answers",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "updateStrategy",
          "in" : "query",
          "description" : "Select the strategy to be used for updating lists. Default: OVERWRITE",
          "schema" : {
            "$ref" : "#/components/schemas/ListUpdateStrategy"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/QuestionAnswerDTO"
                }
              }
            }
          }
        },
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. The question could not be found, or an answer is not valid based on the type defined on the question.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "204" : {
            "description" : "The request has been successfully processed."
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/questionnaires/answers" : {
      "get" : {
        "description" : "This service can be used to retrieve all the answers of dossier questionnaires of the dossier.",
        "operationId" : "get_questionnaire_answers",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DossierQuestionnaireDTO"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/responsibles/{personIdentifier}/flow" : {
      "post" : {
        "description" : "This API-gateway service call performs the necessary actions to initiate the flow for a specific responsible on a dossier.",
        "operationId" : "initiate_responsible_flow",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "personIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the person",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/FlowOptionDTO"
              }
            }
          }
        },
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/FlowCompletionDTO"
                }
              }
            }
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/dossiers/{dossierIdentifier}/automations/{automationIdentifier}" : {
      "post" : {
        "description" : "Triggers the given automation for an existing dossier. The automation is executed asynchronously.",
        "operationId" : "trigger_dossier_automation",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "dossierIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the dossier",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "automationIdentifier",
          "in" : "path",
          "description" : "Identifier of the automation that should be triggered for the dossier.",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "204" : {
            "description" : "The request has been successfully accepted, the automation will be executed in an asynchronous way"
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/parties/{partyIdentifier}" : {
      "get" : {
        "description" : "This service retrieves the party details from an existing party.",
        "operationId" : "get_party",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "partyIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the party",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "expanded",
          "in" : "query",
          "description" : "If expanded is set to true, all include options are added in the response. Default: false",
          "schema" : {
            "type" : "boolean"
          }
        }, {
          "name" : "includes",
          "in" : "query",
          "description" : "Based on the options, more detailed information will be added in the response. CLIENT is always included and cannot be removed. Default: INSURED_PERSON, DOSSIER_BANK_ACCOUNTS, INTERMEDIARY and RESPONSIBLE",
          "schema" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Include"
            }
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GatewayPartyDTO"
                }
              }
            }
          }
        }
      },
      "put" : {
        "description" : "This API-gateway service call creates or updates a party.",
        "operationId" : "create_update_party",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "partyIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the party",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "updateStrategy",
          "in" : "query",
          "description" : "Select the strategy to be used for updating lists. Default: OVERWRITE",
          "schema" : {
            "$ref" : "#/components/schemas/ListUpdateStrategy"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GatewayPartyDTO"
              }
            }
          }
        },
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "204" : {
            "description" : "The request has been successfully processed."
          }
        }
      }
    },
    "/external/v4/financial-sps/{frontOfficeIdentifier}/parties/{partyIdentifier}/question-answers" : {
      "get" : {
        "description" : "This service retrieves the question answers of an existing party.",
        "operationId" : "get_party_question_answers",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "partyIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the party",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        } ],
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. a required field is not provided, a string contains too many characters, an identifier cannot be resolved,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "200" : {
            "description" : "The requested data.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/QuestionAnswerDTO"
                  }
                }
              }
            }
          }
        }
      },
      "put" : {
        "description" : "This API-gateway service call updates the question answers of an existing party. It's advised to use updateStrategy=APPEND when updating the question answers. Provided answers will only appear in the application if the question is already visible based on the form definition. Invalid answers will not be accepted by the system.",
        "operationId" : "update_party_question_answers",
        "parameters" : [ {
          "name" : "frontOfficeIdentifier",
          "in" : "path",
          "description" : "Unique identifier of the front-office (defined in Harmoney)",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "partyIdentifier",
          "in" : "path",
          "description" : "Unique external identifier of the party",
          "required" : true,
          "schema" : {
            "type" : "string",
            "pattern" : "[A-Za-z0-9\\-_]+"
          }
        }, {
          "name" : "updateStrategy",
          "in" : "query",
          "description" : "Select the strategy to be used for updating lists. Default: OVERWRITE",
          "schema" : {
            "$ref" : "#/components/schemas/ListUpdateStrategy"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "type" : "array",
                "items" : {
                  "$ref" : "#/components/schemas/QuestionAnswerDTO"
                }
              }
            }
          }
        },
        "responses" : {
          "403" : {
            "description" : "Unable to process this request due to authorization issues. E.g. invalid user role, missing modules,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "404" : {
            "description" : "The provided data could not be found or parsed. E.g. json syntax errors, invalid enum values, wrong id's,...",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "409" : {
            "description" : "The provided data is not valid or could not be validated. E.g. The question could not be found, or an answer is not valid based on the type defined on the question.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "429" : {
            "description" : "The configured rate limit was hit; this and future requests will be blocked. The remaining time is returned in the response error message.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "default" : {
            "description" : "An error occurred, see data for more information.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ExceptionDTO"
                }
              }
            }
          },
          "204" : {
            "description" : "The request has been successfully processed."
          }
        }
      }
    },
    "/external/v4/health-check" : {
      "get" : {
        "description" : "This service is meant to check if the Harmoney server is up and running.",
        "operationId" : "health_check",
        "responses" : {
          "204" : {
            "description" : "Health check: OK"
          },
          "503" : {
            "description" : "Health check: FAILURE"
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "CallbackBodyDTO" : {
        "type" : "object",
        "properties" : {
          "href" : {
            "type" : "string",
            "description" : "Unique URL reference of the resource related to this callback."
          },
          "status" : {
            "type" : "string",
            "description" : "The status of the API request for which this callback was defined.",
            "enum" : [ "UNSUCCESSFUL", "SUCCESS", "FAILED" ]
          },
          "type" : {
            "type" : "string",
            "description" : "Type that defines when this callback was initiated. When this field is not sent, then this callback was initiated at the end of the automation process."
          },
          "message" : {
            "type" : "string",
            "description" : "Additional information about the API request for which this callback was defined."
          }
        }
      },
      "ExceptionDTO" : {
        "type" : "object",
        "properties" : {
          "_error" : {
            "type" : "string",
            "description" : "A description of the error that occurred."
          },
          "_errorCode" : {
            "type" : "string",
            "description" : "A code indicating which type of error occurred."
          }
        }
      },
      "AssessmentDTO" : {
        "type" : "object",
        "properties" : {
          "systemAssessment" : {
            "type" : "string",
            "description" : "Assessment determined by the system.",
            "readOnly" : true
          },
          "manualAssessment" : {
            "type" : "string",
            "description" : "Assessment determined by a user. This assessment takes precedence over the system assessment.",
            "readOnly" : true
          },
          "manualAssessmentBy" : {
            "$ref" : "#/components/schemas/UserDTO",
            "description" : "The user that provided the manual assessment.",
            "readOnly" : true
          },
          "timeManualAssessment" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp of manual assessment (UTC).",
            "readOnly" : true
          },
          "comments" : {
            "type" : "string",
            "description" : "Extra info about the assessment result.",
            "readOnly" : true
          },
          "providerResponses" : {
            "type" : "array",
            "description" : "The responses of the provider requests (if an assessment provider was used).",
            "items" : {
              "$ref" : "#/components/schemas/ProviderResponseDTO"
            },
            "readOnly" : true
          }
        }
      },
      "DocumentDTO" : {
        "type" : "object",
        "description" : "The natural identifier for a document is defined by the fields type and content (file.content).",
        "properties" : {
          "internalIdentifier" : {
            "type" : "string",
            "description" : "Harmoney identifier. One of `internalIdentifier` or `externalIdentifier` is required."
          },
          "name" : {
            "type" : "string",
            "description" : "Name describing the document. This can be different from the filename.",
            "minLength" : 1
          },
          "type" : {
            "type" : "string",
            "description" : "Enum. The possible values are depending on environment configuration."
          },
          "validUntil" : {
            "type" : "string",
            "format" : "date",
            "description" : "The timestamp until which the document is valid."
          },
          "file" : {
            "$ref" : "#/components/schemas/StorageDTO",
            "description" : "Details of the actual file.",
            "writeOnly" : true
          },
          "assessment" : {
            "$ref" : "#/components/schemas/AssessmentDTO",
            "description" : "The assessment of a document. This field is only applicable when assessment is enabled.",
            "readOnly" : true
          },
          "filename" : {
            "type" : "string",
            "description" : "Filename of the document.",
            "readOnly" : true
          },
          "contentURL" : {
            "type" : "string",
            "description" : "A signed URL of the document on CDN. The validity of the URL is limited in time.",
            "maxLength" : 65535,
            "minLength" : 0,
            "readOnly" : true
          },
          "timeUpdated" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp of update.",
            "readOnly" : true
          }
        },
        "required" : [ "file", "name", "type" ]
      },
      "GatewayIdentifierDTO" : {
        "type" : "object",
        "description" : "An entity is referenced throughout the APIgateway using a unique identifier. This is primarily the externalIdentifier defined by the external system that interacts with Harmoney. Using this identifier the corresponding entities can be created/updated. In case an entity, such as a party, is created within the Harmoney application, it will by default not have an externalIdentifier because no external system initiated this entity. When such an entity is returned over the API gateway, when for example linked to a dossier, the identifier for this entity will be indicated only by an internalIdentifier. This identifier can be also be used to update the entity via the API gateway (PUT). It is also possible to transform such an entity to an entity managed by the external system. To do this, a PUT using both identifier fields is needed to exchange these identifiers. After this action, the internalIdentifier will no longer be necessary in the subsequent actions via the API gateway, because the externalIdentifier becomes the primarily unique identifier of the entity.",
        "properties" : {
          "externalIdentifier" : {
            "type" : "string",
            "description" : "External identifier (from the system that interacts with Harmoney). One of `internalIdentifier` or `externalIdentifier` is required."
          },
          "internalIdentifier" : {
            "type" : "string",
            "description" : "Harmoney identifier. One of `internalIdentifier` or `externalIdentifier` is required."
          }
        }
      },
      "InformationExchangeDTO" : {
        "type" : "object",
        "description" : "An information exchange that has been created on a dossier.",
        "properties" : {
          "informationExchangeIdentifier" : {
            "type" : "string",
            "description" : "Generated unique identifier of an information exchange"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the information exchange. Enum. The possible values are depending on environment configuration."
          },
          "counterpartyType" : {
            "type" : "string",
            "description" : "The type of counterparty for the information exchange. Enum. The possible values are depending on environment configuration."
          },
          "counterparty" : {
            "$ref" : "#/components/schemas/GatewayIdentifierDTO",
            "description" : "The counterparty for the information exchange."
          },
          "timeCreated" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp when the information exchange was created (UTC)."
          },
          "timeUpdated" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp when the information exchange was last updated (UTC)."
          },
          "profiles" : {
            "type" : "array",
            "description" : "Profiles based on the data of the information exchange (if available).",
            "items" : {
              "$ref" : "#/components/schemas/ProfileDTO"
            }
          },
          "documents" : {
            "type" : "array",
            "description" : "Documents produced for the information exchange, grouped by the responsible counterparty.",
            "items" : {
              "$ref" : "#/components/schemas/InformationExchangeDocumentDTO"
            }
          }
        }
      },
      "InformationExchangeDocumentDTO" : {
        "type" : "object",
        "description" : "Documents of an information exchange, grouped by the counterparty responsible for them.",
        "properties" : {
          "counterpartyType" : {
            "type" : "string",
            "description" : "The type of counterparty responsible for these documents. Enum. The possible values are depending on environment configuration."
          },
          "counterparty" : {
            "$ref" : "#/components/schemas/GatewayIdentifierDTO",
            "description" : "The counterparty responsible for these documents."
          },
          "documents" : {
            "type" : "array",
            "description" : "List of information exchange documents.",
            "items" : {
              "$ref" : "#/components/schemas/DocumentDTO"
            }
          }
        }
      },
      "ProfileDTO" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The profile type. Enum. The possible values are depending on environment configuration.",
            "minLength" : 1
          },
          "profile" : {
            "type" : "string",
            "description" : "The profile result. Enum. The possible values are depending on environment configuration.",
            "minLength" : 1
          },
          "score" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The score for this profile."
          }
        },
        "required" : [ "profile", "type" ]
      },
      "ProviderResponseDTO" : {
        "type" : "object",
        "properties" : {
          "requestIdentifier" : {
            "type" : "string",
            "description" : "The identifier of the provider request",
            "readOnly" : true
          },
          "responseType" : {
            "type" : "string",
            "description" : "The type of the provider response, e.g. JSON, XML",
            "readOnly" : true
          },
          "response" : {
            "type" : "string",
            "description" : "The content of the response (Base64 encoded)",
            "maxLength" : 200000000,
            "minLength" : 0,
            "readOnly" : true
          }
        }
      },
      "StorageDTO" : {
        "type" : "object",
        "properties" : {
          "filename" : {
            "type" : "string",
            "description" : "Name of the file.",
            "minLength" : 1
          },
          "mimeType" : {
            "type" : "string",
            "description" : "A valid MIME type (see https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types).",
            "example" : "application/pdf",
            "minLength" : 1
          },
          "content" : {
            "type" : "string",
            "description" : "Base64 representation of the file.",
            "example" : "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==",
            "maxLength" : 200000000,
            "minLength" : 0
          }
        },
        "required" : [ "content", "filename", "mimeType" ]
      },
      "UserDTO" : {
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string",
            "description" : "Email of the user",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "Full name of the user",
            "readOnly" : true
          }
        },
        "readOnly" : true
      },
      "CreateInformationExchangeDTO" : {
        "type" : "object",
        "description" : "Defines the information exchange to create on a dossier.",
        "properties" : {
          "counterpartyType" : {
            "type" : "string",
            "description" : "The type of counterparty for the information exchange. Enum. The possible values are depending on environment configuration."
          },
          "counterpartyIdentifier" : {
            "type" : "string",
            "description" : "External identifier of the counterparty (the intermediary or individual) for the information exchange",
            "minLength" : 1
          }
        },
        "required" : [ "counterpartyIdentifier", "counterpartyType" ]
      },
      "FlowCompletionResultDTO" : {
        "type" : "object",
        "properties" : {
          "flowCompletionIdentifier" : {
            "type" : "string",
            "description" : "Unique identifier of the flow completion result."
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the flow. Possible statuses are defined by Harmoney. When a flow completion result is added through the API, the status will be EXTERNAL."
          },
          "timeCompleted" : {
            "type" : "string",
            "description" : "Timestamp when flow was completed (UTC)."
          },
          "flowDocuments" : {
            "type" : "array",
            "description" : "List of document related to the flow completion.",
            "items" : {
              "$ref" : "#/components/schemas/FlowDocumentDTO"
            }
          },
          "profiles" : {
            "type" : "array",
            "description" : "List of profiles based on the data from the flow (if available).",
            "items" : {
              "$ref" : "#/components/schemas/ProfileDTO"
            }
          }
        },
        "required" : [ "timeCompleted" ]
      },
      "FlowDocumentDTO" : {
        "type" : "object",
        "properties" : {
          "partyIdentifier" : {
            "$ref" : "#/components/schemas/GatewayIdentifierDTO",
            "description" : "Indicates the responsible party for this flow."
          },
          "documents" : {
            "type" : "array",
            "description" : "List of flow documents.",
            "items" : {
              "$ref" : "#/components/schemas/DocumentDTO"
            }
          }
        }
      },
      "FlowAnswerDTO" : {
        "type" : "object",
        "properties" : {
          "questionIdentifier" : {
            "type" : "string",
            "description" : "Unique identifier of a question"
          },
          "answer" : {
            "description" : "The value of the answer for the given question. The type of the answer can be a boolean, integer, double, string or an array of integers/strings depending on the type of question"
          },
          "createdFor" : {
            "$ref" : "#/components/schemas/GatewayIdentifierDTO",
            "description" : "The identifier of the party to whom the answer relates"
          }
        }
      },
      "FlowCompletionDTO" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "The URI for the investor who can be used to complete the flow. (Standard validity: 2 years)"
          },
          "code" : {
            "type" : "string",
            "description" : "Contains a security code to complete the flow (only valid for some flow options such as GENERATE_CODE)"
          }
        }
      },
      "AuthenticationMethodDTO" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "description" : "The authentication method."
          },
          "providerIdentifier" : {
            "type" : "string",
            "description" : "In case the type of authentication is PROVIDER, a valid identifier for a provider must be provided."
          }
        },
        "required" : [ "type" ]
      },
      "FlowOptionDTO" : {
        "type" : "object",
        "description" : "Defines how to initiate the flow.",
        "properties" : {
          "flowOption" : {
            "type" : "string",
            "description" : "Defines how to initiate the flow. The available flow options depend on the dossier configuration and, for an information exchange, on the counterparty type: for an INDIVIDUAL counterparty the possible values are GENERATE_CODE, GENERATE_URL and DIRECT_INVESTOR_MAIL; for an INTERMEDIARY counterparty the options are restricted to GENERATE_URL and DIRECT_INVESTOR_MAIL.",
            "writeOnly" : true
          },
          "allowedAuthenticationMethods" : {
            "type" : "array",
            "description" : "An optional list of authentication methods to indicate how the user can authenticate when he initiates the flow.",
            "items" : {
              "$ref" : "#/components/schemas/AuthenticationMethodDTO"
            },
            "writeOnly" : true
          }
        },
        "required" : [ "flowOption" ]
      },
      "ListUpdateStrategy" : {
        "type" : "string",
        "description" : "Configured on how lists will be processed.\nAdditional notes:\n * OVERWRITE: Replace all current entries in the list with the given entries.\n * APPEND: The natural identifier of the entities is used to determine if the entries are new or already exist.\nWhen updateStrategy is set to APPEND:\n* Entries in the existing collection but not in the new collection are ignored;\n* Entries in the new collection but not in the existing collection are added;\n* Entries present in both collections are updated.\n",
        "enum" : [ "APPEND", "OVERWRITE" ]
      },
      "AccountDTO" : {
        "type" : "object",
        "description" : "Account details. The natural identifier for a dossier is defined by the field externalAccountNumber. Only applicable when the corresponding module is activated.",
        "properties" : {
          "externalAccountNumber" : {
            "type" : "string",
            "description" : "Identifier of the account."
          },
          "iban" : {
            "type" : "string",
            "description" : "The bank account number associated with the insurance (standard IBAN-format, without spaces)."
          },
          "bic" : {
            "type" : "string",
            "description" : "Bank Identifier Code, it is an 8 to 11-character number that is used to identify a specific bank for international transactions.",
            "maxLength" : 11,
            "minLength" : 0
          },
          "bankAccountType" : {
            "type" : "string",
            "description" : "The type of the account."
          },
          "assetName" : {
            "type" : "string",
            "description" : "The logical name of the asset associated with the account."
          },
          "assetValue" : {
            "type" : "number",
            "description" : "The value of the asset associated with the account."
          },
          "assetValueDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date of the asset-value for the account."
          }
        },
        "required" : [ "externalAccountNumber" ]
      },
      "AddressDTO" : {
        "type" : "object",
        "properties" : {
          "fullStreet" : {
            "type" : "string",
            "description" : "The street and house number."
          },
          "postalCode" : {
            "type" : "string",
            "description" : "The postal code."
          },
          "city" : {
            "type" : "string",
            "description" : "Name of the city."
          },
          "subdivision" : {
            "type" : "string",
            "description" : "Name of the subdivision of the country."
          },
          "country" : {
            "type" : "string",
            "description" : "The ISO 3166-2 country code (uppercase only).",
            "maxLength" : 2,
            "minLength" : 0
          }
        },
        "required" : [ "country" ]
      },
      "BankAccountDTO" : {
        "type" : "object",
        "description" : "Account details. The natural identifier for a dossier is defined by the field externalAccountNumber. Only applicable when the corresponding module is activated.",
        "properties" : {
          "accountNumber" : {
            "type" : "string",
            "description" : "The bank account number. When the account identification type is IBAN, this field must have a valid IBAN number.",
            "maxLength" : 80,
            "minLength" : 0
          },
          "bankBicSwift" : {
            "type" : "string",
            "description" : "Optional bank identifier code. This field can have a value when the account identification type is BIC_SWIFT.",
            "maxLength" : 11,
            "minLength" : 0
          },
          "bankName" : {
            "type" : "string",
            "description" : "The name of the bank."
          },
          "accountIdentificationType" : {
            "type" : "string",
            "description" : "The type of bank account number. Enum. The possible values are depending on environment configuration.",
            "enum" : [ "IBAN", "BIC_SWIFT", "OTHER" ]
          },
          "accountName" : {
            "type" : "string",
            "description" : "The name of the bank account."
          },
          "accountHolderName" : {
            "type" : "string",
            "description" : "The name of the account holder."
          },
          "accountType" : {
            "type" : "string",
            "description" : "The type of bank account."
          },
          "balance" : {
            "type" : "number",
            "description" : "The balance of the bank account."
          },
          "balanceDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The balance date of the bank account."
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "A map of additional data points (key/value) to extend the default model."
          }
        },
        "required" : [ "accountIdentificationType", "accountNumber" ]
      },
      "CompanyDTO" : {
        "type" : "object",
        "description" : "Represents a party of type company. A company is a legal-entity formed by a group of parties to operate and engage in a business -commercial or industrial- enterprise.",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "companyNumber" : {
            "type" : "string"
          },
          "legalForm" : {
            "type" : "string",
            "description" : "The legal form of the company."
          },
          "companyType" : {
            "type" : "string",
            "description" : "The company type. Enum. The possible values are depending on environment configuration."
          },
          "website" : {
            "type" : "string",
            "description" : "Website of the company."
          },
          "companyPhone" : {
            "type" : "string",
            "description" : "Phone of the company.",
            "maxLength" : 45,
            "minLength" : 0
          },
          "companyEmail" : {
            "type" : "string",
            "description" : "E-mail of the company."
          },
          "establishmentCountryCode" : {
            "type" : "string",
            "description" : "The country where the company is established, using ISO 3166-2 country code (uppercase only).",
            "maxLength" : 2,
            "minLength" : 0
          },
          "establishmentDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date on which the business license of the company was issued."
          },
          "vatNumber" : {
            "type" : "string",
            "description" : "The VAT number (without country code prefix). Required if the company is liable for VAT."
          },
          "vatLiable" : {
            "type" : "boolean",
            "description" : "Defines if the company is liable for VAT."
          },
          "nace" : {
            "type" : "string",
            "description" : "NACE Code defined by the EU."
          },
          "industrySector" : {
            "type" : "string",
            "description" : "Enum. The possible values are depending on environment configuration."
          },
          "leiNumber" : {
            "type" : "string",
            "description" : "The LEI number."
          },
          "leiLiable" : {
            "type" : "boolean",
            "description" : "Defines if the company is liable for LEI number."
          },
          "owners" : {
            "type" : "array",
            "description" : "List of the owners of this company.",
            "items" : {
              "$ref" : "#/components/schemas/OwnerDTO"
            }
          },
          "address" : {
            "$ref" : "#/components/schemas/AddressDTO"
          }
        }
      },
      "DossierDTO" : {
        "type" : "object",
        "description" : "The dossier. The natural identifier for a dossier is defined by the fields externalIdentifier/internalIdentifier.",
        "properties" : {
          "externalIdentifier" : {
            "type" : "string",
            "description" : "External identifier (from the system that interacts with Harmoney). One of `internalIdentifier` or `externalIdentifier` is required."
          },
          "internalIdentifier" : {
            "type" : "string",
            "description" : "Harmoney identifier. One of `internalIdentifier` or `externalIdentifier` is required."
          },
          "number" : {
            "type" : "string",
            "description" : "A dossier number (must be unique within the financial SP)."
          },
          "name" : {
            "type" : "string",
            "description" : "A dossier name. If not provided, the dossier number will be used."
          },
          "type" : {
            "type" : "string",
            "description" : "The type of the dossier. The possible values are depending on environment configuration."
          },
          "service" : {
            "type" : "string",
            "description" : "The service of the dossier. The possible values are depending on environment configuration."
          },
          "status" : {
            "type" : "string",
            "description" : "Enum. The possible values are depending on environment configuration. This field is read-only! To update the status of a dossier, use the \"externalStatus\" field instead.",
            "readOnly" : true
          },
          "externalStatus" : {
            "type" : "string",
            "description" : "The possible values are depending on environment configuration."
          },
          "lifecycle" : {
            "type" : "string",
            "description" : "Indicates the lifecycle of this dossier."
          },
          "rba" : {
            "$ref" : "#/components/schemas/RbaDTO",
            "description" : "RBA details of the dossier"
          },
          "dueDiligence" : {
            "$ref" : "#/components/schemas/DueDiligenceDTO",
            "description" : "Due diligence details of the dossier."
          },
          "commercialProduct" : {
            "type" : "string",
            "description" : "The commercial product linked to the dossier (by identifier)"
          },
          "description" : {
            "type" : "string",
            "description" : "A free-text field providing internal-information on the dossier maintained by and limited to the office",
            "maxLength" : 65535,
            "minLength" : 0
          },
          "externalDescription" : {
            "type" : "string",
            "description" : "A free-text field providing external-information on the dossier maintained by the office, but exposed outside the office",
            "maxLength" : 65535,
            "minLength" : 0
          },
          "assignee" : {
            "$ref" : "#/components/schemas/UpdatableUserDTO",
            "description" : "The user currently assigned to this dossier"
          },
          "owner" : {
            "$ref" : "#/components/schemas/UpdatableUserDTO",
            "description" : "The user currently defined as the owner of this dossier"
          },
          "client" : {
            "$ref" : "#/components/schemas/GatewayIdentifierDTO",
            "description" : "Reference identifier of the party who is the client of this dossier"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Source. A map of additional data points (key/value) to extend the default model."
          },
          "documents" : {
            "type" : "array",
            "description" : "List of documents linked to this dossier. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/DocumentDTO"
            }
          },
          "responsibles" : {
            "type" : "array",
            "description" : "List of responsible persons. The first identifier in the list becomes the main responsible of the dossier.\nThe responsibilities are automatically assigned.\nThis field requires the module 'INVESTOR_FLOW' to be enabled.\n",
            "items" : {
              "$ref" : "#/components/schemas/GatewayIdentifierDTO"
            }
          },
          "insurance" : {
            "$ref" : "#/components/schemas/InsuranceDTO",
            "description" : "Insurance details of the dossier (only applicable for insurance dossiers). Only applicable when the corresponding module is activated."
          },
          "accounts" : {
            "type" : "array",
            "description" : "DEPRECATED: Use bankAccounts field instead! List of bank accounts on the dossier. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/AccountDTO"
            }
          },
          "bankAccounts" : {
            "type" : "array",
            "description" : "List of bank accounts on the dossier. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/BankAccountDTO"
            }
          },
          "tasks" : {
            "type" : "array",
            "description" : "The tasks linked to the dossier.Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/DossierTaskDTO"
            }
          },
          "externalInfo" : {
            "$ref" : "#/components/schemas/ExternalInfoDTO",
            "description" : "Additional external information on dossier levelOnly applicable when the corresponding module is activated."
          },
          "relatedDossiers" : {
            "type" : "array",
            "description" : "List of related dossier identifiers. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/GatewayIdentifierDTO"
            }
          },
          "relatedParties" : {
            "type" : "array",
            "description" : "List of parties related to this dossier. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/DossierPartyRelationDTO"
            }
          },
          "intermediary" : {
            "$ref" : "#/components/schemas/IntermediaryDTO",
            "description" : "The intermediary linked to the dossier.Only applicable when the corresponding module is activated."
          }
        }
      },
      "DossierPartyRelationDTO" : {
        "type" : "object",
        "description" : "The relation between a dossier and a party. The natural identifier for a dossier is defined by the field identifier. Only applicable when the corresponding module is activated.",
        "properties" : {
          "identifier" : {
            "$ref" : "#/components/schemas/GatewayIdentifierDTO",
            "description" : "Reference identifier of the related party."
          },
          "relationType" : {
            "type" : "string",
            "description" : "The relation type. Enum. The possible values are depending on environment configuration."
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "A map of additional data points (key/value) to extend the default model."
          },
          "comments" : {
            "type" : "string",
            "description" : "Comments regarding this relation"
          }
        },
        "required" : [ "identifier" ]
      },
      "DossierTaskDTO" : {
        "type" : "object",
        "description" : "Task details. Only applicable when the corresponding module is activated.",
        "properties" : {
          "identifier" : {
            "type" : "string",
            "description" : "The task identifier.",
            "minLength" : 1
          },
          "completed" : {
            "type" : "boolean",
            "description" : "Defines if the task is completed."
          },
          "completedBy" : {
            "$ref" : "#/components/schemas/UserDTO",
            "description" : "The user that completed the task.",
            "readOnly" : true
          },
          "timeCompleted" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp at which the task was last completed. Cleared when the task is reopened.",
            "readOnly" : true
          },
          "additionalInfo" : {
            "type" : "string",
            "description" : "Additional info.",
            "maxLength" : 65535,
            "minLength" : 0
          }
        },
        "required" : [ "identifier" ]
      },
      "DueDiligenceDTO" : {
        "type" : "object",
        "description" : "The due diligence details. Only applicable when the corresponding module is activated.",
        "properties" : {
          "status" : {
            "type" : "string",
            "description" : "The status of the due diligence.",
            "readOnly" : true
          },
          "checkedBy" : {
            "$ref" : "#/components/schemas/UserDTO",
            "description" : "The user that most recently updated the due diligence.",
            "readOnly" : true
          },
          "timeChecked" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The time when the due diligence was last updated.",
            "readOnly" : true
          },
          "internalInfo" : {
            "type" : "string",
            "description" : "Internal info related to the due diligence.",
            "readOnly" : true
          },
          "results" : {
            "type" : "array",
            "description" : "The due diligence results of all the due diligence parameters.",
            "items" : {
              "$ref" : "#/components/schemas/DueDiligenceResultDTO"
            },
            "minItems" : 1
          }
        },
        "required" : [ "results" ]
      },
      "DueDiligenceResultDTO" : {
        "type" : "object",
        "description" : "A due diligence result for a single due diligence parameter. Only applicable when the corresponding module is activated.",
        "properties" : {
          "parameter" : {
            "type" : "string",
            "description" : "The parameter of the due diligence result. The possible values are depending on environment configuration.",
            "minLength" : 1
          },
          "systemAssessment" : {
            "type" : "string",
            "description" : "The result determined by Harmoney. The possible values are depending on environment configuration.",
            "readOnly" : true
          },
          "manualAssessment" : {
            "type" : "string",
            "description" : "The result set by a user.",
            "readOnly" : true
          },
          "isHit" : {
            "type" : "boolean",
            "description" : "Indicates whether the assessment for this parameter is considered a hit or not.",
            "readOnly" : true
          },
          "manualAssessmentBy" : {
            "$ref" : "#/components/schemas/UserDTO",
            "description" : "The user that performed the manual assessment.",
            "readOnly" : true
          },
          "timeManualAssessment" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "The time when the last manual assessment happened.",
            "readOnly" : true
          },
          "unchangedSince" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Indicates since when the result of this check is valid.",
            "readOnly" : true
          },
          "comments" : {
            "type" : "string",
            "description" : "Additional info provided for this result.",
            "maxLength" : 65535,
            "minLength" : 0
          },
          "externalAssessment" : {
            "type" : "string",
            "description" : "The result that overrides the system result. Set by a user through the UI or through the gateway. The possible values are depending on environment configuration.",
            "writeOnly" : true
          },
          "forceExternalAssessment" : {
            "type" : "boolean",
            "description" : "Specifies whether the external result should be retained in case the system result changes and the manual result would typically be cleared.",
            "writeOnly" : true
          }
        },
        "required" : [ "parameter" ]
      },
      "ExternalInfoDTO" : {
        "type" : "object",
        "properties" : {
          "source" : {
            "type" : "string",
            "description" : "Source. Only applicable on dossier-model."
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "Source. A map of additional data points (key/value) to extend the default model."
          }
        }
      },
      "GatewayDossierDTO" : {
        "type" : "object",
        "description" : "A container holding a Dossier and its associated Parties. All entries in `associatedParties` must be referenced.",
        "properties" : {
          "dossier" : {
            "$ref" : "#/components/schemas/DossierDTO"
          },
          "associatedParties" : {
            "type" : "array",
            "description" : "List of parties associated to this dossier.",
            "items" : {
              "$ref" : "#/components/schemas/PartyDTO"
            }
          }
        },
        "required" : [ "dossier" ]
      },
      "IndividualDTO" : {
        "type" : "object",
        "description" : "Represents a party of type individual. An individual is a single person.",
        "properties" : {
          "firstName" : {
            "type" : "string",
            "description" : "The given name of the person."
          },
          "lastName" : {
            "type" : "string",
            "description" : "The family name of the person"
          },
          "dateOfBirth" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date of birth."
          },
          "placeOfBirth" : {
            "type" : "string",
            "description" : "The place of birth."
          },
          "countryOfBirth" : {
            "type" : "string",
            "description" : "The country of birth.",
            "maxLength" : 2,
            "minLength" : 0
          },
          "nationality" : {
            "type" : "string",
            "description" : "The ISO 3166-2 country code (uppercase only).",
            "maxLength" : 2,
            "minLength" : 0
          },
          "additionalNationalities" : {
            "type" : "array",
            "description" : "List of ISO 3166-2 country codes (uppercase only).",
            "items" : {
              "type" : "string",
              "maxLength" : 2,
              "minLength" : 0
            }
          },
          "gender" : {
            "type" : "string",
            "description" : "Enum. The possible values are depending on environment configuration.",
            "enum" : [ "MALE", "FEMALE" ],
            "example" : "MALE"
          },
          "mobilePhone" : {
            "type" : "string",
            "description" : "Phone number in international format , e.g. +32477777777. Must be unique for each party in the financial SP.",
            "maxLength" : 45,
            "minLength" : 0
          },
          "email" : {
            "type" : "string",
            "description" : "The e-mail of the individual"
          },
          "maritalStatus" : {
            "type" : "string",
            "description" : "The marital status of the individual. The possible values are depending on environment configuration."
          },
          "maritalStatusSince" : {
            "type" : "string",
            "format" : "date",
            "description" : "Marital status is applicable since this date. Can not be in the future."
          },
          "language" : {
            "type" : "string",
            "description" : "Main language of the individual. Enum. The possible values are depending on environment configuration."
          },
          "occupation" : {
            "type" : "string",
            "description" : "Profession or occupation of the individual."
          },
          "occupationSince" : {
            "type" : "string",
            "format" : "date",
            "description" : "Occupation is applicable since this date. Can not be in the future."
          },
          "employerName" : {
            "type" : "string",
            "description" : "The name of the employer."
          },
          "employerAddress" : {
            "type" : "string",
            "description" : "The address of the employer."
          },
          "socialState" : {
            "type" : "string",
            "description" : "The social state of the individual. The possible values are depending on environment configuration."
          },
          "socialStateSince" : {
            "type" : "string",
            "format" : "date"
          },
          "education" : {
            "type" : "string",
            "description" : "The education of the individual. The possible values are depending on environment configuration."
          },
          "industrySector" : {
            "type" : "string",
            "description" : "Enum. The possible values are depending on environment configuration."
          },
          "nace" : {
            "type" : "string",
            "description" : "NACE Code defined by the EU.",
            "maxLength" : 10,
            "minLength" : 0
          },
          "dependentChildren" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of dependent children."
          },
          "partnerName" : {
            "type" : "string",
            "description" : "Name of the partner."
          },
          "legalCapacity" : {
            "type" : "string",
            "description" : "Legal capacity of the individual. For example: \"minor\", \"bankrupt\"."
          },
          "address" : {
            "$ref" : "#/components/schemas/AddressDTO"
          },
          "nationalRegistrationNumber" : {
            "type" : "string",
            "description" : "National registration number of the individual.Only applicable when the corresponding module is activated.",
            "maxLength" : 45,
            "minLength" : 0
          },
          "identityCardNumber" : {
            "type" : "string",
            "description" : "Identity card number of the individual.Only applicable when the corresponding module is activated.",
            "maxLength" : 20,
            "minLength" : 0
          },
          "identityCardValidTo" : {
            "type" : "string",
            "format" : "date",
            "description" : "Identity card validity date.Only applicable when the corresponding module is activated."
          },
          "identityDocuments" : {
            "type" : "array",
            "description" : "List of identity documents linked to this individual. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/DocumentDTO"
            }
          }
        }
      },
      "IndivisionDTO" : {
        "type" : "object",
        "description" : "Represents a party of type indivision. An indivision is a party that consists of multiple persons.",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name for the indivision."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the indivision."
          },
          "members" : {
            "type" : "array",
            "description" : "List of the members of this indivision.",
            "items" : {
              "$ref" : "#/components/schemas/OwnerDTO"
            }
          }
        }
      },
      "InsuranceDTO" : {
        "type" : "object",
        "description" : "The insurance details of the dossier. Only applicable when the corresponding module is activated.",
        "properties" : {
          "iban" : {
            "type" : "string",
            "description" : "The bank account number associated with the insurance (standard IBAN-format, without spaces)."
          },
          "premium" : {
            "type" : "number",
            "description" : "A premium value",
            "minimum" : 0
          },
          "paymentPeriodicity" : {
            "type" : "string",
            "description" : "The frequency of the payments.",
            "enum" : [ "ONE_TIME", "MONTHLY", "QUARTERLY", "SEMI_ANNUALLY", "YEARLY" ]
          },
          "balance" : {
            "type" : "number",
            "description" : "The value of balance associated with the insurance."
          },
          "balanceDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date corresponding with the balance value. If not provided, the system date will be used."
          },
          "insurees" : {
            "type" : "array",
            "description" : "List of insured persons (as party identifiers). Only individuals are allowed.",
            "items" : {
              "$ref" : "#/components/schemas/GatewayIdentifierDTO"
            }
          }
        },
        "required" : [ "balance", "paymentPeriodicity", "premium" ]
      },
      "IntermediaryDTO" : {
        "type" : "object",
        "description" : "The intermediary linked to the dossier",
        "properties" : {
          "identifier" : {
            "type" : "string",
            "description" : "The unique identifier of the intermediary"
          }
        }
      },
      "OwnerDTO" : {
        "type" : "object",
        "description" : "An owner or member. The natural identifier is defined by the fields externalIdentifier/internalIdentifier. Only applicable when the corresponding module is activated.",
        "properties" : {
          "externalIdentifier" : {
            "type" : "string",
            "description" : "External identifier (from the system that interacts with Harmoney). One of `internalIdentifier` or `externalIdentifier` is required."
          },
          "internalIdentifier" : {
            "type" : "string",
            "description" : "Harmoney identifier. One of `internalIdentifier` or `externalIdentifier` is required."
          },
          "uboType" : {
            "type" : "string",
            "description" : "Defines a UBO type. Enum. The possible values are depending on environment configuration."
          },
          "percentage" : {
            "type" : "number",
            "format" : "double",
            "description" : "Percentual ownership of this individual.",
            "maximum" : 100,
            "minimum" : 0
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "A map of additional data points (key/value) to extend the default model."
          }
        }
      },
      "PartnershipDTO" : {
        "type" : "object",
        "description" : "Represents a party of type partnership. A partnership is a company of common law.",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name for the partnership."
          },
          "type" : {
            "type" : "string",
            "description" : "Type of the partnership."
          },
          "registrationNumber" : {
            "type" : "string",
            "description" : "The registration number of the partnership."
          },
          "members" : {
            "type" : "array",
            "description" : "List of the members of this partnership.",
            "items" : {
              "$ref" : "#/components/schemas/OwnerDTO"
            }
          },
          "address" : {
            "$ref" : "#/components/schemas/AddressDTO"
          }
        }
      },
      "PartyBankAccountDTO" : {
        "type" : "object",
        "description" : "Bank account information of a party. The natural identifier for a dossier is defined by the field accountNumber. Only applicable when the corresponding module is activated.",
        "properties" : {
          "bankAccountType" : {
            "type" : "string",
            "description" : "The type of bank account."
          },
          "accountNumber" : {
            "type" : "string",
            "description" : "The bank account number. Validations are applied depending on the accountNumberType.",
            "maxLength" : 80,
            "minLength" : 0
          },
          "accountNumberType" : {
            "type" : "string",
            "description" : "The type of bank account number. Enum. The possible values are depending on environment configuration.",
            "enum" : [ "IBAN", "NON_IBAN" ]
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the bank account."
          }
        },
        "required" : [ "accountNumber", "accountNumberType" ]
      },
      "PartyDTO" : {
        "type" : "object",
        "description" : "A party defines a legal entity that has legal rights and obligations.The Harmoney platform defines 4 types of party: individual, indivision, partnership and company.A party must always be one of these party types. The natural identifier for a party is defined by the fields externalIdentifier/internalIdentifier.",
        "properties" : {
          "externalIdentifier" : {
            "type" : "string",
            "description" : "External identifier (from the system that interacts with Harmoney). One of `internalIdentifier` or `externalIdentifier` is required."
          },
          "internalIdentifier" : {
            "type" : "string",
            "description" : "Harmoney identifier. One of `internalIdentifier` or `externalIdentifier` is required."
          },
          "state" : {
            "type" : "string",
            "description" : "State of the party. For example \"deceased\" for an individual."
          },
          "stateSince" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date of when the party got the current state."
          },
          "individual" : {
            "$ref" : "#/components/schemas/IndividualDTO",
            "description" : "An individual is a single person. This field is only applicable if the party is an individual."
          },
          "indivision" : {
            "$ref" : "#/components/schemas/IndivisionDTO",
            "description" : "An indivision is a party that consists of multiple persons. This field is only applicable if the party is an indivision."
          },
          "partnership" : {
            "$ref" : "#/components/schemas/PartnershipDTO",
            "description" : "A partnership is a company of common law. This field is only applicable if the party is a partnership."
          },
          "company" : {
            "$ref" : "#/components/schemas/CompanyDTO",
            "description" : "A company is a legal-entity formed by a group of parties to operate and engage in a business -commercial or industrial- enterprise. This field is only applicable if the party is a company."
          },
          "documents" : {
            "type" : "array",
            "description" : "List of documents linked to this party. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/DocumentDTO"
            }
          },
          "relatedParties" : {
            "type" : "array",
            "description" : "List of related parties to the current party. Only supported for the client of a dossier. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/PartyRelationDTO"
            }
          },
          "signatories" : {
            "type" : "array",
            "description" : "List of signatories of the current party. Only supported for the client of a dossier. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/PartySignatoryDTO"
            }
          },
          "taxInformations" : {
            "type" : "array",
            "description" : "List of tax information linked to this party. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/PartyTaxInformationDTO"
            }
          },
          "externalInfo" : {
            "$ref" : "#/components/schemas/ExternalInfoDTO",
            "description" : "Additional external information on party level. Only applicable when the corresponding module is activated."
          },
          "bankAccounts" : {
            "type" : "array",
            "description" : "List of bank accounts linked to this party. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/PartyBankAccountDTO"
            }
          },
          "bankAccountsV2" : {
            "type" : "array",
            "description" : "List of bank accounts linked to this party. Only applicable when the corresponding module is activated.",
            "items" : {
              "$ref" : "#/components/schemas/BankAccountDTO"
            }
          },
          "info" : {
            "type" : "string",
            "description" : "A free-text field providing internal-information on the party. Not updatable through gateway!",
            "maxLength" : 65535,
            "minLength" : 0
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "A map of additional data points to extend the default model."
          },
          "postalAddress" : {
            "$ref" : "#/components/schemas/AddressDTO"
          },
          "dueDiligence" : {
            "$ref" : "#/components/schemas/DueDiligenceDTO",
            "description" : "Due diligence details of the party. Only applicable when the corresponding module is activated."
          }
        }
      },
      "PartyRelationDTO" : {
        "type" : "object",
        "description" : "The relation between 2 parties. The natural identifier for a dossier is defined by the field identifier. Only applicable when the corresponding module is activated.",
        "properties" : {
          "identifier" : {
            "$ref" : "#/components/schemas/GatewayIdentifierDTO",
            "description" : "Reference identifier of the related party."
          },
          "relationType" : {
            "type" : "string",
            "description" : "The relation type. Enum. The possible values are depending on environment configuration."
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "A map of additional data points (key/value) to extend the default model."
          },
          "comments" : {
            "type" : "string",
            "description" : "Comments regarding this relation"
          }
        },
        "required" : [ "identifier", "relationType" ]
      },
      "PartySignatoryDTO" : {
        "type" : "object",
        "description" : "The relation between a party and one of the signatories for that party. The natural identifier for a dossier is defined by the field identifier. Only applicable when the corresponding module is activated.",
        "properties" : {
          "identifier" : {
            "$ref" : "#/components/schemas/GatewayIdentifierDTO",
            "description" : "Reference identifier of the signatory party."
          },
          "signatoryType" : {
            "type" : "string",
            "description" : "The signatory type. Enum. The possible values are depending on environment configuration."
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "A map of additional data points (key/value) to extend the default model."
          }
        },
        "required" : [ "identifier", "signatoryType" ]
      },
      "PartyTaxInformationDTO" : {
        "type" : "object",
        "description" : "Tax information of a party. The natural identifier for tax information is defined by the fields tin & countryCode (address.countryCode or the address of the party when useResidentialAddress is true). Only applicable when the corresponding module is activated.",
        "properties" : {
          "tin" : {
            "type" : "string",
            "description" : "The Tax Identification Number.",
            "minLength" : 1
          },
          "since" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date the tin number was created.."
          },
          "isPrimary" : {
            "type" : "boolean",
            "description" : "Defines if the tax information is the primary tax info. Note that exactly one tax info must be indicated as the primary tax info on a party."
          },
          "useResidentialAddress" : {
            "type" : "boolean",
            "description" : "Defines if the address of the party should be used. If so, then it's not needed to have an address on this tax information itself. Can only be used for the primary tax information!"
          },
          "address" : {
            "$ref" : "#/components/schemas/AddressDTO"
          }
        },
        "required" : [ "isPrimary", "tin" ]
      },
      "RbaDTO" : {
        "type" : "object",
        "properties" : {
          "rating" : {
            "type" : "string",
            "description" : "Enum. The possible values are depending on environment configuration.",
            "readOnly" : true
          },
          "timeUpdated" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp when RBA data was updated or calculation was performed (UTC).",
            "readOnly" : true
          },
          "score" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "The total RBA score.",
            "readOnly" : true
          },
          "escalation" : {
            "type" : "boolean",
            "description" : "RBA escalation flag.",
            "readOnly" : true
          },
          "details" : {
            "type" : "array",
            "description" : "Risk reasons, defined by a (Harmoney) code and corresponding value and score, used within the RBA score calculation.",
            "items" : {
              "$ref" : "#/components/schemas/RbaResultDetailDTO"
            },
            "readOnly" : true
          },
          "systemAssessment" : {
            "type" : "string",
            "description" : "Assessment of the RBA score by the system.",
            "readOnly" : true
          },
          "manualAssessment" : {
            "type" : "string",
            "description" : "Assessment of the RBA score by a user.",
            "readOnly" : true
          },
          "manualAssessmentBy" : {
            "$ref" : "#/components/schemas/UserDTO",
            "description" : "The user that performed the manual assessment.",
            "readOnly" : true
          },
          "timeManualAssessment" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp of manual assessment of the RBA score."
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "description" : "A map of additional data points to extend the default model."
          },
          "comments" : {
            "type" : "string",
            "description" : "Extra info about the RBA result."
          },
          "externalAssessment" : {
            "type" : "string",
            "description" : "The result that overrides the system result. The possible values are depending on environment configuration.",
            "writeOnly" : true
          },
          "forceExternalAssessment" : {
            "type" : "boolean",
            "description" : "Specifies whether the external result should be retained in case the system result changes and the manual result would typically be cleared.",
            "writeOnly" : true
          }
        }
      },
      "RbaResultDetailDTO" : {
        "type" : "object",
        "properties" : {
          "parameter" : {
            "type" : "string",
            "description" : "Code of the risk reason",
            "readOnly" : true
          },
          "result" : {
            "type" : "string",
            "description" : "Value of the risk reason",
            "readOnly" : true
          },
          "score" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "RBA score linked to the value of the risk reason parameter",
            "readOnly" : true
          }
        }
      },
      "UpdatableUserDTO" : {
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string",
            "description" : "E-mail of the user. When used to update a user, the value must uniquely match an existing user or the value won't be updated."
          },
          "name" : {
            "type" : "string",
            "description" : "Full name of the user",
            "readOnly" : true
          }
        }
      },
      "Include" : {
        "type" : "string",
        "description" : "Additional notes:\n * PARTY_INFO: Adds extra information to each associated party, like postal address.\n * IDENTITY: Adds identity documents for individuals.\n * PARTY_RELATED_PARTIES: Recursively adds related parties.\n * UBO: Recursively adds UBOs.\n * CLIENT: This is enabled by default, even when using an empty list.\n * PARTY_SIGNATORIES: Recursively adds the signatories",
        "enum" : [ "BENEFICIARY", "CLIENT", "DOSSIER_BANK_ACCOUNTS", "DOSSIER_DOCUMENTS", "DOSSIER_EXTERNAL_INFORMATION", "DOSSIER_RELATED_DOSSIERS", "DOSSIER_RELATED_PARTIES", "DUE_DILIGENCE", "FISCALITY", "IDENTITY", "INSURED_PERSON", "INTERMEDIARY", "PARTY_BANK_ACCOUNTS", "PARTY_DOCUMENTS", "PARTY_EXTERNAL_INFORMATION", "PARTY_INFO", "PARTY_RELATED_PARTIES", "PARTY_SIGNATORIES", "RBA", "RESPONSIBLE", "TASKS", "UBO" ]
      },
      "QuestionAnswerDTO" : {
        "type" : "object",
        "properties" : {
          "questionIdentifier" : {
            "type" : "string",
            "description" : "Unique identifier of a question",
            "minLength" : 1
          },
          "answer" : {
            "description" : "The value of the answer for the given question. The type of the answer can be a boolean, integer, double, string or an array of strings depending on the answer type of question"
          }
        },
        "required" : [ "questionIdentifier" ]
      },
      "DossierQuestionnaireDTO" : {
        "type" : "object",
        "properties" : {
          "questionnaireIdentifier" : {
            "type" : "string",
            "description" : "Identifier of the questionnaire"
          },
          "answers" : {
            "type" : "array",
            "description" : "The question answers of the questionnaire",
            "items" : {
              "$ref" : "#/components/schemas/FlowAnswerDTO"
            }
          }
        }
      },
      "GatewayPartyDTO" : {
        "type" : "object",
        "description" : "A container holding a Party and its associated Parties. All entries in `associatedParties` must be referenced.",
        "properties" : {
          "party" : {
            "$ref" : "#/components/schemas/PartyDTO"
          },
          "associatedParties" : {
            "type" : "array",
            "description" : "List of parties associated to this party",
            "items" : {
              "$ref" : "#/components/schemas/PartyDTO"
            }
          }
        },
        "required" : [ "party" ]
      }
    },
    "securitySchemes" : {
      "basicAuth" : {
        "type" : "http",
        "scheme" : "basic"
      },
      "token" : {
        "type" : "http",
        "scheme" : "bearer",
        "bearerFormat" : "JWT"
      }
    }
  }
}