{
  "swagger" : "2.0",
  "info" : {
    "description" : "These set of apis are used to create a Mandate record in transact.",
    "version" : "v1.0.0",
    "title" : "EMandate creation apis"
  },
  "host" : "api.server.com",
  "basePath" : "/api/v1.0.0/",
  "tags" : [ ],
  "schemes" : [ "http", "https" ],
  "security" : [ {
    "basicAuth" : [ ]
  }, {
    "apiKey" : [ ]
  } ],
  "paths" : {
    "/order/nl/directDebits/mandates/consents" : {
      "get" : {
        "tags" : [ ],
        "summary" : "This will fetch the details that were passed during the mandate creation.",
        "description" : "This api will get all the details that were passed in during the request for creation of the mandate. This api will be called to check the existence of the request in the transact before the customer is asked to authorise it.",
        "operationId" : "getMandate",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "mandateId",
          "in" : "query",
          "description" : "Contains the mandatory SEPA(Single Euro Payment Area) payment identifier from the transaction",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "transactionReference",
          "in" : "query",
          "description" : "Reference number of the originating transaction",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "page_size",
          "in" : "query",
          "description" : "The total number of records per page",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "page_start",
          "in" : "query",
          "description" : "The record from which the response should be displayed",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "page_token",
          "in" : "query",
          "description" : "Unique id expected to get as part of response from t24 on every enquiry request.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "credentials",
          "in" : "header",
          "description" : "Username and password to authenticate the API against core-banking.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "companyId",
          "in" : "header",
          "description" : "The identifier of the underlying Entity/Company/Branch.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "deviceId",
          "in" : "header",
          "description" : "Identifies the device type",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "userRole",
          "in" : "header",
          "description" : "User who initiated the transaction",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "MandateResponse",
            "schema" : {
              "$ref" : "#/definitions/MandateResponse"
            }
          },
          "default" : {
            "description" : "QueryErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/QueryErrorResponse"
            }
          },
          "400" : {
            "description" : "BusinessQueryErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/BusinessQueryErrorResponse"
            }
          },
          "500" : {
            "description" : "SystemQueryErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/SystemQueryErrorResponse"
            }
          }
        }
      },
      "post" : {
        "tags" : [ ],
        "summary" : "This api is used to initiate the creation of the E-Mandate.",
        "description" : "This api is used to initiate the creation of the E-Mandate. This api will create a mandate request in Staging table with the status as OPEN.",
        "operationId" : "createMandateConsent",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "in" : "body",
          "name" : "payload",
          "description" : "body Payload",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/MandateConsent1"
          }
        }, {
          "name" : "validate_only",
          "in" : "query",
          "description" : "The identifier to indicate if it is set to only validate or not.",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "credentials",
          "in" : "header",
          "description" : "Username and password to authenticate the API against core-banking.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "companyId",
          "in" : "header",
          "description" : "The identifier of the underlying Entity/Company/Branch.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "deviceId",
          "in" : "header",
          "description" : "Identifies the device type",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "userRole",
          "in" : "header",
          "description" : "User who initiated the transaction",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "MandateConsentResponse",
            "schema" : {
              "$ref" : "#/definitions/MandateConsentResponse1"
            }
          },
          "default" : {
            "description" : "ScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/ScreenErrorResponse"
            }
          },
          "400" : {
            "description" : "BusinessScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/BusinessScreenErrorResponse"
            }
          },
          "500" : {
            "description" : "SystemScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/SystemScreenErrorResponse"
            }
          }
        }
      }
    },
    "/order/nl/directDebits/mandates/{transactionReference}" : {
      "get" : {
        "tags" : [ ],
        "summary" : "This api will fetch the detailed information about the mandate.",
        "description" : "This api will fetch the detailed information about the mandate that is created including the status of the mandate.",
        "operationId" : "getMandateDetails",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "transactionReference",
          "in" : "path",
          "description" : "Reference number of the originating transaction",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "page_size",
          "in" : "query",
          "description" : "The total number of records per page",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "page_start",
          "in" : "query",
          "description" : "The record from which the response should be displayed",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "page_token",
          "in" : "query",
          "description" : "Unique id expected to get as part of response from t24 on every enquiry request.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "credentials",
          "in" : "header",
          "description" : "Username and password to authenticate the API against core-banking.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "companyId",
          "in" : "header",
          "description" : "The identifier of the underlying Entity/Company/Branch.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "deviceId",
          "in" : "header",
          "description" : "Identifies the device type",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "userRole",
          "in" : "header",
          "description" : "User who initiated the transaction",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "MandateDetailsResponse",
            "schema" : {
              "$ref" : "#/definitions/MandateDetailsResponse"
            }
          },
          "default" : {
            "description" : "QueryErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/QueryErrorResponse"
            }
          },
          "400" : {
            "description" : "BusinessQueryErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/BusinessQueryErrorResponse"
            }
          },
          "500" : {
            "description" : "SystemQueryErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/SystemQueryErrorResponse"
            }
          }
        }
      }
    },
    "/order/nl/directDebits/mandates/{mandateId}/consents" : {
      "put" : {
        "tags" : [ ],
        "summary" : "To update the customer decision in staging table.",
        "description" : "This api is called to update the mandate record created in the staging table with the customer's decision and the debit account details.",
        "operationId" : "updateMandateConsent",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "mandateId",
          "in" : "path",
          "description" : "Contains the mandatory SEPA(Single Euro Payment Area) payment identifier from the transaction",
          "required" : true,
          "type" : "string"
        }, {
          "in" : "body",
          "name" : "payload",
          "description" : "body Payload",
          "required" : true,
          "schema" : {
            "$ref" : "#/definitions/MandateConsent"
          }
        }, {
          "name" : "validate_only",
          "in" : "query",
          "description" : "The identifier to indicate if it is set to only validate or not.",
          "required" : false,
          "type" : "boolean"
        }, {
          "name" : "credentials",
          "in" : "header",
          "description" : "Username and password to authenticate the API against core-banking.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "companyId",
          "in" : "header",
          "description" : "The identifier of the underlying Entity/Company/Branch.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "deviceId",
          "in" : "header",
          "description" : "Identifies the device type",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "userRole",
          "in" : "header",
          "description" : "User who initiated the transaction",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "MandateConsentResponse",
            "schema" : {
              "$ref" : "#/definitions/MandateConsentResponse"
            }
          },
          "default" : {
            "description" : "ScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/ScreenErrorResponse"
            }
          },
          "400" : {
            "description" : "BusinessScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/BusinessScreenErrorResponse"
            }
          },
          "500" : {
            "description" : "SystemScreenErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/SystemScreenErrorResponse"
            }
          }
        }
      }
    }
  },
  "securityDefinitions" : {
    "basicAuth" : {
      "type" : "basic"
    },
    "apiKey" : {
      "type" : "apiKey",
      "name" : "Authorization",
      "in" : "header"
    }
  },
  "definitions" : {
    "QueryHeader" : {
      "properties" : {
        "audit" : {
          "type" : "object",
          "properties" : {
            "T24_time" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Time taken to response by T24"
            },
            "versionNumber" : {
              "type" : "string",
              "description" : "The CURR.NO. of the record"
            },
            "requestParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the request by IRIS"
            },
            "responseParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the response by IRIS"
            }
          }
        },
        "status" : {
          "type" : "string",
          "description" : "Status of the API(success/failed)"
        },
        "page_size" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The total number of records per page"
        },
        "page_start" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The record from which the response should be displayed"
        },
        "total_size" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The total number of records present"
        },
        "page_token" : {
          "type" : "string",
          "description" : "Unique id expected to get as part of response from t24 on every enquiry request"
        }
      }
    },
    "MandateResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/QueryHeader"
        },
        "body" : {
          "$ref" : "#/definitions/MandateResponseBody"
        }
      },
      "description" : "MandateResponse"
    },
    "MandateResponseBody" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "transactionDateTime" : {
            "type" : "string",
            "description" : "Contains the date time when the webservice/api calls are made",
            "maxLength" : 35
          },
          "acquirerId" : {
            "type" : "string",
            "description" : "Contains the reference identifier of the acquirer",
            "maxLength" : 4
          },
          "issuer" : {
            "type" : "string",
            "description" : "Contains the reference identifier of the issuer",
            "maxLength" : 35
          },
          "merchantId" : {
            "type" : "string",
            "description" : "Contains the reference identifier of the merchant/website",
            "maxLength" : 10
          },
          "additionalMerchantReference" : {
            "type" : "string",
            "description" : "Contains the additional reference identifier of the merchant/website",
            "maxLength" : 6
          },
          "latestRedirectUrl" : {
            "type" : "string",
            "description" : "Contains the latest redirected URL of the ongoing transaction",
            "maxLength" : 512
          },
          "transactionReference" : {
            "type" : "string",
            "description" : "Reference number of the originating transaction",
            "maxLength" : 16
          },
          "externalTransactionDateTime" : {
            "type" : "string",
            "description" : "Contains the external system transaction Date Time",
            "maxLength" : 35
          },
          "duration" : {
            "type" : "string",
            "description" : "Duration",
            "maxLength" : 35
          },
          "language" : {
            "type" : "string",
            "description" : "The language that the contents of the field are displayed in.",
            "maxLength" : 2
          },
          "transactionEntranceCode" : {
            "type" : "string",
            "description" : "Contains the additional identifier used for authentication of the transaction",
            "maxLength" : 40
          },
          "msgId" : {
            "type" : "string",
            "description" : "Identification of the message.",
            "maxLength" : 35
          },
          "creationDateTime" : {
            "type" : "string",
            "description" : "Date and Time of the message creation.",
            "maxLength" : 35
          },
          "mandateId" : {
            "type" : "string",
            "description" : "Contains the mandatory SEPA(Single Euro Payment Area) payment identifier from the transaction",
            "maxLength" : 35
          },
          "mandateRequestId" : {
            "type" : "string",
            "description" : "Contains the mandate transaction id.",
            "maxLength" : 16
          },
          "paymentScheme" : {
            "type" : "string",
            "description" : "Payment scheme details",
            "maxLength" : 35
          },
          "localInstrumentCode" : {
            "type" : "string",
            "description" : "List of transfer type has been mentioned locally in a record",
            "maxLength" : 35
          },
          "mandateSequenceType" : {
            "type" : "string",
            "description" : "Indicates the eMandate type: one-off Direct Debit or recurring. Format: 'OOFF' or 'RCUR'.",
            "maxLength" : 35
          },
          "creditorPrivateId" : {
            "type" : "string",
            "description" : "Contains the unique identification of the creditor as a person, as assigned by his institution. For example, the identification could be passport number or driving license number issued by the government of a country.",
            "maxLength" : 20
          },
          "creditorPrivateSchemeCode" : {
            "type" : "string",
            "description" : "Contains the external person identification scheme code of the creditor as a person. For example, CCPT (passport number), DRLC (drivers license number).",
            "maxLength" : 35
          },
          "creditorName" : {
            "type" : "string",
            "description" : "Name or short title of the credit account",
            "maxLength" : 70
          },
          "creditorCountry" : {
            "type" : "string",
            "description" : "Contains the Country of the postal address of the Creditor.",
            "maxLength" : 2
          },
          "creditorAddress" : {
            "type" : "string",
            "description" : "Address of the creditor or beneficiary account",
            "maxLength" : 70
          },
          "creditorAddressLine1" : {
            "type" : "string",
            "description" : "Contains the first line of the address of the creditor. Eg. Streetname ",
            "maxLength" : 70
          },
          "debtorPrivateId" : {
            "type" : "string",
            "description" : "Contains the unique identification of the debtor as a person, as assigned by his institution, using identificaiton scheme. For example, the identification could be passport number or driving license number issued by the government of a country.",
            "maxLength" : 35
          },
          "debtorAgentBIC" : {
            "type" : "string",
            "description" : "Contains Business Identifier Code(BIC) of the debtor agent.",
            "maxLength" : 35
          },
          "mandateAmendmentReasonCode" : {
            "type" : "string",
            "description" : "Contains the reason code for amending the eMandate. Eg. MD16",
            "maxLength" : 4
          },
          "originalMandateId" : {
            "type" : "string",
            "description" : "Contains the original emandate ID of the eMandate to be amended.",
            "maxLength" : 35
          },
          "originalDebtorAccountIban" : {
            "type" : "string",
            "description" : "Contains the original debtor account IBAN of the eMandate to be amended.",
            "maxLength" : 35
          },
          "originalDebtorInstitutionBic" : {
            "type" : "string",
            "description" : "Contains the original debtor institution BIC of the eMandate to be amended.",
            "maxLength" : 25
          },
          "debtorName" : {
            "type" : "string",
            "description" : "Contains the name of the debtor.",
            "maxLength" : 70
          },
          "maxAmount" : {
            "type" : "string",
            "description" : "Contains the maximum principal amount defined for the deposit contract",
            "maxLength" : 19
          },
          "reason" : {
            "type" : "string",
            "description" : "Contains the reason for performing the current activity",
            "maxLength" : 70
          },
          "ultimateCreditorName" : {
            "type" : "string",
            "description" : "Contains the name of the ultimate creditor",
            "maxLength" : 70
          },
          "purchaseId" : {
            "type" : "string",
            "description" : "Contains the reference identifier of the purchace made at the merchant",
            "maxLength" : 35
          }
        }
      }
    },
    "ErrorHeader" : {
      "properties" : {
        "audit" : {
          "type" : "object",
          "properties" : {
            "T24_time" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Time taken to response by T24"
            },
            "versionNumber" : {
              "type" : "string",
              "description" : "The CURR.NO. of the record"
            },
            "requestParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the request by IRIS"
            },
            "responseParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the response by IRIS"
            }
          }
        },
        "status" : {
          "type" : "string",
          "description" : "Status of the API(success/failed)"
        }
      }
    },
    "QueryErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/QueryErrorResponseBody"
        }
      },
      "description" : "QueryErrorResponse"
    },
    "QueryErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "code" : {
          "type" : "string",
          "description" : "The identifier of the error message"
        },
        "message" : {
          "type" : "string",
          "description" : "The actual t24 error message "
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: "
        }
      }
    },
    "BusinessQueryErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/BusinessQueryErrorResponseBody"
        }
      },
      "description" : "BusinessQueryErrorResponse"
    },
    "BusinessQueryErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "code" : {
          "type" : "string",
          "description" : "The identifier of the error message"
        },
        "message" : {
          "type" : "string",
          "description" : "The actual t24 error message for bad requests"
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: Business"
        }
      }
    },
    "SystemQueryErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/SystemQueryErrorResponseBody"
        }
      },
      "description" : "SystemQueryErrorResponse"
    },
    "SystemQueryErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "code" : {
          "type" : "string",
          "description" : "The identifier of the error message"
        },
        "message" : {
          "type" : "string",
          "description" : "The actual t24 error message caused by server"
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: System"
        }
      }
    },
    "MandateDetailsResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/QueryHeader"
        },
        "body" : {
          "$ref" : "#/definitions/MandateDetailsResponseBody"
        }
      },
      "description" : "MandateDetailsResponse"
    },
    "MandateDetailsResponseBody" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "transactionDateTime" : {
            "type" : "string",
            "description" : "Contains the date time when the webservice/api calls are made",
            "maxLength" : 35
          },
          "issuer" : {
            "type" : "string",
            "description" : "Contains the reference identifier of the issuer",
            "maxLength" : 35
          },
          "transactionReference" : {
            "type" : "string",
            "description" : "Reference number of the originating transaction",
            "maxLength" : 16
          },
          "mandateStatus" : {
            "type" : "string",
            "description" : "Status of the eMandate transaction creation",
            "maxLength" : 35
          },
          "lastUpdatedDateTime" : {
            "type" : "string",
            "description" : "Specifies the date and time of last update to the record.",
            "maxLength" : 15
          },
          "msgId" : {
            "type" : "string",
            "description" : "Identification of the message.",
            "maxLength" : 35
          },
          "creationDateTime" : {
            "type" : "string",
            "description" : "Date and Time of the message creation.",
            "maxLength" : 35
          },
          "mandateType" : {
            "type" : "string",
            "description" : "Indicates how the �Mandate was registered (e.g.� automatically, paper, electronic)",
            "maxLength" : 35
          },
          "mandateId" : {
            "type" : "string",
            "description" : "Contains the mandatory SEPA(Single Euro Payment Area) payment identifier from the transaction",
            "maxLength" : 35
          },
          "mandateRequestId" : {
            "type" : "string",
            "description" : "Contains the mandate transaction id.",
            "maxLength" : 16
          },
          "paymentScheme" : {
            "type" : "string",
            "description" : "Payment scheme details",
            "maxLength" : 35
          },
          "localInstrumentCode" : {
            "type" : "string",
            "description" : "List of transfer type has been mentioned locally in a record",
            "maxLength" : 35
          },
          "mandateSequenceType" : {
            "type" : "string",
            "description" : "Indicates the eMandate type: one-off Direct Debit or recurring. Format: 'OOFF' or 'RCUR'.",
            "maxLength" : 35
          },
          "creditorPrivateId" : {
            "type" : "string",
            "description" : "Contains the unique identification of the creditor as a person, as assigned by his institution. For example, the identification could be passport number or driving license number issued by the government of a country.",
            "maxLength" : 20
          },
          "creditorPrivateSchemeCode" : {
            "type" : "string",
            "description" : "Contains the external person identification scheme code of the creditor as a person. For example, CCPT (passport number), DRLC (drivers license number).",
            "maxLength" : 35
          },
          "creditorName" : {
            "type" : "string",
            "description" : "Name or short title of the credit account",
            "maxLength" : 70
          },
          "creditorCountry" : {
            "type" : "string",
            "description" : "Contains the Country of the postal address of the Creditor.",
            "maxLength" : 2
          },
          "creditorAddress" : {
            "type" : "string",
            "description" : "Address of the creditor or beneficiary account",
            "maxLength" : 70
          },
          "creditorAddressLine1" : {
            "type" : "string",
            "description" : "Contains the first line of the address of the creditor. Eg. Streetname ",
            "maxLength" : 70
          },
          "debtorName" : {
            "type" : "string",
            "description" : "Contains the name of the debtor.",
            "maxLength" : 70
          },
          "debtorPrivateId" : {
            "type" : "string",
            "description" : "Contains the unique identification of the debtor as a person, as assigned by his institution, using identificaiton scheme. For example, the identification could be passport number or driving license number issued by the government of a country.",
            "maxLength" : 35
          },
          "IBAN" : {
            "type" : "string",
            "description" : "International Bank Account number, an identifier of the account. E.g. GB29 NWBK 6016 1331 9268 19",
            "maxLength" : 35
          },
          "debtorAgentBIC" : {
            "type" : "string",
            "description" : "Contains Business Identifier Code(BIC) of the debtor agent.",
            "maxLength" : 35
          }
        }
      }
    },
    "PayloadHeader" : {
      "properties" : {
        "override" : {
          "type" : "object",
          "properties" : {
            "overrideDetails" : {
              "type" : "array",
              "items" : {
                "type" : "object",
                "properties" : {
                  "id" : {
                    "type" : "string",
                    "description" : "The identifier of the override."
                  },
                  "description" : {
                    "type" : "string",
                    "description" : "The actual override message."
                  },
                  "code" : {
                    "type" : "string",
                    "description" : "The code related to override message."
                  },
                  "responseCode" : {
                    "type" : "string",
                    "description" : "The user input to accept/reject the override."
                  }
                }
              }
            }
          }
        },
        "audit" : {
          "type" : "object",
          "properties" : {
            "versionNumber" : {
              "type" : "string",
              "description" : "The CURR.NO. of the record"
            }
          }
        }
      }
    },
    "MandateConsent" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/PayloadHeader"
        },
        "body" : {
          "$ref" : "#/definitions/MandateConsentBody"
        }
      },
      "description" : "MandateConsent"
    },
    "MandateConsentBody" : {
      "type" : "object",
      "properties" : {
        "IBAN" : {
          "type" : "string",
          "description" : "International Bank Account number, an identifier of the account. E.g. GB29 NWBK 6016 1331 9268 19",
          "minLength" : 0,
          "maxLength" : 4
        },
        "customerDecision" : {
          "type" : "string",
          "description" : "Contains the decision made by a customer",
          "minLength" : 0,
          "maxLength" : 16
        }
      }
    },
    "ScreenHeader" : {
      "properties" : {
        "id" : {
          "type" : "string",
          "description" : "The Identifier of the record created"
        },
        "status" : {
          "type" : "string",
          "description" : "Status of the API(success/failed)"
        },
        "transactionStatus" : {
          "type" : "string",
          "description" : "The status of the transaction"
        },
        "uniqueIdentifier" : {
          "type" : "string",
          "description" : "The unique identifier/Message Reference of the record created."
        },
        "audit" : {
          "type" : "object",
          "properties" : {
            "T24_time" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Time taken to response by T24"
            },
            "versionNumber" : {
              "type" : "string",
              "description" : "The CURR.NO. of the record"
            },
            "requestParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the request by IRIS"
            },
            "responseParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the response by IRIS"
            }
          }
        }
      }
    },
    "MandateConsentResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ScreenHeader"
        },
        "body" : {
          "$ref" : "#/definitions/MandateConsentResponseBody"
        }
      },
      "description" : "MandateConsentResponse"
    },
    "MandateConsentResponseBody" : {
      "type" : "object",
      "properties" : {
        "IBAN" : {
          "type" : "string",
          "description" : "International Bank Account number, an identifier of the account. E.g. GB29 NWBK 6016 1331 9268 19",
          "minLength" : 0,
          "maxLength" : 4
        },
        "customerDecision" : {
          "type" : "string",
          "description" : "Contains the decision made by a customer",
          "minLength" : 0,
          "maxLength" : 16
        },
        "duration" : {
          "type" : "string",
          "description" : "Duration",
          "minLength" : 0,
          "maxLength" : 8
        }
      }
    },
    "overrideBody" : {
      "properties" : {
        "overrideDetails" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "id" : {
                "type" : "string",
                "description" : "The identifier of the override."
              },
              "description" : {
                "type" : "string",
                "description" : "The actual override message."
              },
              "code" : {
                "type" : "string",
                "description" : "The code related to override message."
              },
              "options" : {
                "type" : "array",
                "description" : "The usable options for the override.",
                "items" : {
                  "type" : "string"
                }
              },
              "type" : {
                "type" : "string",
                "description" : "The type of the override."
              }
            }
          }
        }
      }
    },
    "ScreenErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/ScreenErrorResponseBody"
        },
        "override" : {
          "$ref" : "#/definitions/overrideBody"
        }
      },
      "description" : "ScreenErrorResponse"
    },
    "ScreenErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "errorDetails" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "fieldName" : {
                "type" : "string",
                "description" : "The name of the field"
              },
              "code" : {
                "type" : "string",
                "description" : "The identifier of the error message"
              },
              "message" : {
                "type" : "string",
                "description" : "The actual t24 error message "
              }
            }
          }
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: "
        }
      }
    },
    "BusinessScreenErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/BusinessScreenErrorResponseBody"
        },
        "override" : {
          "$ref" : "#/definitions/overrideBody"
        }
      },
      "description" : "BusinessScreenErrorResponse"
    },
    "BusinessScreenErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "errorDetails" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "fieldName" : {
                "type" : "string",
                "description" : "The name of the field"
              },
              "code" : {
                "type" : "string",
                "description" : "The identifier of the error message"
              },
              "message" : {
                "type" : "string",
                "description" : "The actual t24 error message for bad requests"
              }
            }
          }
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: Business"
        }
      }
    },
    "SystemScreenErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/SystemScreenErrorResponseBody"
        },
        "override" : {
          "$ref" : "#/definitions/overrideBody"
        }
      },
      "description" : "SystemScreenErrorResponse"
    },
    "SystemScreenErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "errorDetails" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "properties" : {
              "fieldName" : {
                "type" : "string",
                "description" : "The name of the field"
              },
              "code" : {
                "type" : "string",
                "description" : "The identifier of the error message"
              },
              "message" : {
                "type" : "string",
                "description" : "The actual t24 error message caused by server"
              }
            }
          }
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: System"
        }
      }
    },
    "MandateConsent1" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/PayloadHeader"
        },
        "body" : {
          "$ref" : "#/definitions/MandateConsent1Body"
        }
      },
      "description" : "MandateConsent1"
    },
    "MandateConsent1Body" : {
      "type" : "object",
      "properties" : {
        "transactionDateTime" : {
          "type" : "string",
          "description" : "Contains the date time when the webservice/api calls are made",
          "minLength" : 0,
          "maxLength" : 19
        },
        "acquirerId" : {
          "type" : "string",
          "description" : "Contains the reference identifier of the acquirer",
          "minLength" : 0,
          "maxLength" : 10
        },
        "issuer" : {
          "type" : "string",
          "description" : "Contains the reference identifier of the issuer",
          "minLength" : 0,
          "maxLength" : 6
        },
        "merchantId" : {
          "type" : "string",
          "description" : "Contains the reference identifier of the merchant/website",
          "minLength" : 0,
          "maxLength" : 10
        },
        "additionalMerchantReference" : {
          "type" : "string",
          "description" : "Contains the additional reference identifier of the merchant/website",
          "minLength" : 0,
          "maxLength" : 27
        },
        "latestRedirectUrl" : {
          "type" : "string",
          "description" : "Contains the latest redirected URL of the ongoing transaction",
          "minLength" : 0,
          "maxLength" : 17
        },
        "transactionReference" : {
          "type" : "string",
          "description" : "Reference number of the originating transaction",
          "minLength" : 0,
          "maxLength" : 20
        },
        "externalTransactionDateTime" : {
          "type" : "string",
          "description" : "Contains the external system transaction Date Time",
          "minLength" : 0,
          "maxLength" : 27
        },
        "duration" : {
          "type" : "string",
          "description" : "Duration",
          "minLength" : 0,
          "maxLength" : 8
        },
        "language" : {
          "type" : "string",
          "description" : "The language that the contents of the field are displayed in.",
          "minLength" : 0,
          "maxLength" : 8
        },
        "transactionEntranceCode" : {
          "type" : "string",
          "description" : "Contains the additional identifier used for authentication of the transaction",
          "minLength" : 0,
          "maxLength" : 23
        },
        "msgId" : {
          "type" : "string",
          "description" : "Identification of the message.",
          "minLength" : 0,
          "maxLength" : 5
        },
        "creationDateTime" : {
          "type" : "string",
          "description" : "Date and Time of the message creation.",
          "minLength" : 0,
          "maxLength" : 16
        },
        "mandateId" : {
          "type" : "string",
          "description" : "Contains the mandatory SEPA(Single Euro Payment Area) payment identifier from the transaction",
          "minLength" : 0,
          "maxLength" : 9
        },
        "mandateRequestId" : {
          "type" : "string",
          "description" : "Contains the mandate transaction id.",
          "minLength" : 0,
          "maxLength" : 17
        },
        "paymentScheme" : {
          "type" : "string",
          "description" : "Payment scheme details",
          "minLength" : 0,
          "maxLength" : 13
        },
        "localInstrumentCode" : {
          "type" : "string",
          "description" : "List of transfer type has been mentioned locally in a record",
          "minLength" : 0,
          "maxLength" : 19
        },
        "mandateSequenceType" : {
          "type" : "string",
          "description" : "Indicates the eMandate type: one-off Direct Debit or recurring. Format: 'OOFF' or 'RCUR'.",
          "minLength" : 0,
          "maxLength" : 20
        },
        "creditorPrivateId" : {
          "type" : "string",
          "description" : "Contains the unique identification of the creditor as a person, as assigned by his institution. For example, the identification could be passport number or driving license number issued by the government of a country.",
          "minLength" : 0,
          "maxLength" : 17
        },
        "creditorPrivateSchemeCode" : {
          "type" : "string",
          "description" : "Contains the external person identification scheme code of the creditor as a person. For example, CCPT (passport number), DRLC (drivers license number).",
          "minLength" : 0,
          "maxLength" : 25
        },
        "creditorName" : {
          "type" : "string",
          "description" : "Name or short title of the credit account",
          "minLength" : 0,
          "maxLength" : 12
        },
        "creditorCountry" : {
          "type" : "string",
          "description" : "Contains the Country of the postal address of the Creditor.",
          "minLength" : 0,
          "maxLength" : 15
        },
        "creditorAddress" : {
          "type" : "string",
          "description" : "Address of the creditor or beneficiary account",
          "minLength" : 0,
          "maxLength" : 15
        },
        "creditorAddressLine1" : {
          "type" : "string",
          "description" : "Contains the first line of the address of the creditor. Eg. Streetname ",
          "minLength" : 0,
          "maxLength" : 20
        },
        "debtorPrivateId" : {
          "type" : "string",
          "description" : "Contains the unique identification of the debtor as a person, as assigned by his institution, using identificaiton scheme. For example, the identification could be passport number or driving license number issued by the government of a country.",
          "minLength" : 0,
          "maxLength" : 15
        },
        "debtorAgentBIC" : {
          "type" : "string",
          "description" : "Contains Business Identifier Code(BIC) of the debtor agent.",
          "minLength" : 0,
          "maxLength" : 14
        },
        "mandateAmendmentReasonCode" : {
          "type" : "string",
          "description" : "Contains the reason code for amending the eMandate. Eg. MD16",
          "minLength" : 0,
          "maxLength" : 26
        },
        "originalMandateId" : {
          "type" : "string",
          "description" : "Contains the original emandate ID of the eMandate to be amended.",
          "minLength" : 0,
          "maxLength" : 17
        },
        "originalDebtorAccountIban" : {
          "type" : "string",
          "description" : "Contains the original debtor account IBAN of the eMandate to be amended.",
          "minLength" : 0,
          "maxLength" : 25
        },
        "originalDebtorInstitutionBic" : {
          "type" : "string",
          "description" : "Contains the original debtor institution BIC of the eMandate to be amended.",
          "minLength" : 0,
          "maxLength" : 28
        },
        "debtorName" : {
          "type" : "string",
          "description" : "Contains the name of the debtor.",
          "minLength" : 0,
          "maxLength" : 10
        },
        "maxAmount" : {
          "type" : "string",
          "description" : "Contains the maximum principal amount defined for the deposit contract",
          "minLength" : 0,
          "maxLength" : 9
        },
        "reason" : {
          "type" : "string",
          "description" : "Contains the reason for performing the current activity",
          "minLength" : 0,
          "maxLength" : 6
        },
        "ultimateCreditorName" : {
          "type" : "string",
          "description" : "Contains the name of the ultimate creditor",
          "minLength" : 0,
          "maxLength" : 20
        },
        "purchaseId" : {
          "type" : "string",
          "description" : "Contains the reference identifier of the purchace made at the merchant",
          "minLength" : 0,
          "maxLength" : 10
        }
      }
    },
    "MandateConsentResponse1" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ScreenHeader"
        },
        "body" : {
          "$ref" : "#/definitions/MandateConsentResponse1Body"
        }
      },
      "description" : "MandateConsentResponse1"
    },
    "MandateConsentResponse1Body" : {
      "type" : "object",
      "properties" : {
        "transactionDateTime" : {
          "type" : "string",
          "description" : "Contains the date time when the webservice/api calls are made",
          "minLength" : 0,
          "maxLength" : 19
        },
        "acquirerId" : {
          "type" : "string",
          "description" : "Contains the reference identifier of the acquirer",
          "minLength" : 0,
          "maxLength" : 10
        },
        "issuer" : {
          "type" : "string",
          "description" : "Contains the reference identifier of the issuer",
          "minLength" : 0,
          "maxLength" : 6
        },
        "merchantId" : {
          "type" : "string",
          "description" : "Contains the reference identifier of the merchant/website",
          "minLength" : 0,
          "maxLength" : 10
        },
        "additionalMerchantReference" : {
          "type" : "string",
          "description" : "Contains the additional reference identifier of the merchant/website",
          "minLength" : 0,
          "maxLength" : 27
        },
        "latestRedirectUrl" : {
          "type" : "string",
          "description" : "Contains the latest redirected URL of the ongoing transaction",
          "minLength" : 0,
          "maxLength" : 17
        },
        "transactionReference" : {
          "type" : "string",
          "description" : "Reference number of the originating transaction",
          "minLength" : 0,
          "maxLength" : 20
        },
        "externalTransactionDateTime" : {
          "type" : "string",
          "description" : "Contains the external system transaction Date Time",
          "minLength" : 0,
          "maxLength" : 27
        },
        "duration" : {
          "type" : "string",
          "description" : "Duration",
          "minLength" : 0,
          "maxLength" : 8
        },
        "language" : {
          "type" : "string",
          "description" : "The language that the contents of the field are displayed in.",
          "minLength" : 0,
          "maxLength" : 8
        },
        "transactionEntranceCode" : {
          "type" : "string",
          "description" : "Contains the additional identifier used for authentication of the transaction",
          "minLength" : 0,
          "maxLength" : 23
        },
        "msgId" : {
          "type" : "string",
          "description" : "Identification of the message.",
          "minLength" : 0,
          "maxLength" : 5
        },
        "creationDateTime" : {
          "type" : "string",
          "description" : "Date and Time of the message creation.",
          "minLength" : 0,
          "maxLength" : 16
        },
        "mandateId" : {
          "type" : "string",
          "description" : "Contains the mandatory SEPA(Single Euro Payment Area) payment identifier from the transaction",
          "minLength" : 0,
          "maxLength" : 9
        },
        "mandateRequestId" : {
          "type" : "string",
          "description" : "Contains the mandate transaction id.",
          "minLength" : 0,
          "maxLength" : 17
        },
        "paymentScheme" : {
          "type" : "string",
          "description" : "Payment scheme details",
          "minLength" : 0,
          "maxLength" : 13
        },
        "localInstrumentCode" : {
          "type" : "string",
          "description" : "List of transfer type has been mentioned locally in a record",
          "minLength" : 0,
          "maxLength" : 19
        },
        "mandateSequenceType" : {
          "type" : "string",
          "description" : "Indicates the eMandate type: one-off Direct Debit or recurring. Format: 'OOFF' or 'RCUR'.",
          "minLength" : 0,
          "maxLength" : 20
        },
        "creditorPrivateId" : {
          "type" : "string",
          "description" : "Contains the unique identification of the creditor as a person, as assigned by his institution. For example, the identification could be passport number or driving license number issued by the government of a country.",
          "minLength" : 0,
          "maxLength" : 17
        },
        "creditorPrivateSchemeCode" : {
          "type" : "string",
          "description" : "Contains the external person identification scheme code of the creditor as a person. For example, CCPT (passport number), DRLC (drivers license number).",
          "minLength" : 0,
          "maxLength" : 25
        },
        "creditorName" : {
          "type" : "string",
          "description" : "Name or short title of the credit account",
          "minLength" : 0,
          "maxLength" : 12
        },
        "creditorCountry" : {
          "type" : "string",
          "description" : "Contains the Country of the postal address of the Creditor.",
          "minLength" : 0,
          "maxLength" : 15
        },
        "creditorAddress" : {
          "type" : "string",
          "description" : "Address of the creditor or beneficiary account",
          "minLength" : 0,
          "maxLength" : 15
        },
        "creditorAddressLine1" : {
          "type" : "string",
          "description" : "Contains the first line of the address of the creditor. Eg. Streetname ",
          "minLength" : 0,
          "maxLength" : 20
        },
        "debtorPrivateId" : {
          "type" : "string",
          "description" : "Contains the unique identification of the debtor as a person, as assigned by his institution, using identificaiton scheme. For example, the identification could be passport number or driving license number issued by the government of a country.",
          "minLength" : 0,
          "maxLength" : 15
        },
        "debtorAgentBIC" : {
          "type" : "string",
          "description" : "Contains Business Identifier Code(BIC) of the debtor agent.",
          "minLength" : 0,
          "maxLength" : 14
        },
        "mandateAmendmentReasonCode" : {
          "type" : "string",
          "description" : "Contains the reason code for amending the eMandate. Eg. MD16",
          "minLength" : 0,
          "maxLength" : 26
        },
        "originalMandateId" : {
          "type" : "string",
          "description" : "Contains the original emandate ID of the eMandate to be amended.",
          "minLength" : 0,
          "maxLength" : 17
        },
        "originalDebtorAccountIban" : {
          "type" : "string",
          "description" : "Contains the original debtor account IBAN of the eMandate to be amended.",
          "minLength" : 0,
          "maxLength" : 25
        },
        "originalDebtorInstitutionBic" : {
          "type" : "string",
          "description" : "Contains the original debtor institution BIC of the eMandate to be amended.",
          "minLength" : 0,
          "maxLength" : 28
        },
        "debtorName" : {
          "type" : "string",
          "description" : "Contains the name of the debtor.",
          "minLength" : 0,
          "maxLength" : 10
        },
        "maxAmount" : {
          "type" : "string",
          "description" : "Contains the maximum principal amount defined for the deposit contract",
          "minLength" : 0,
          "maxLength" : 9
        },
        "reason" : {
          "type" : "string",
          "description" : "Contains the reason for performing the current activity",
          "minLength" : 0,
          "maxLength" : 6
        },
        "ultimateCreditorName" : {
          "type" : "string",
          "description" : "Contains the name of the ultimate creditor",
          "minLength" : 0,
          "maxLength" : 20
        },
        "purchaseId" : {
          "type" : "string",
          "description" : "Contains the reference identifier of the purchace made at the merchant",
          "minLength" : 0,
          "maxLength" : 10
        }
      }
    }
  }
}