{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-create-account-future-update-request-schema.json", "title": "CreateAccountFutureUpdateRequest", "x-generated": "2026-10-10", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/wordline-account-future-update-api-openapi.yml#/components/schemas/CreateAccountFutureUpdateRequest", "type": "object", "required": [ "futureChangeDate" ], "properties": { "futureChangeDate": { "description": "Refer to AccountFutureUpdate.futureChangeDate", "type": "string", "format": "date-time" }, "accountFutureUpdateIdentifier": { "description": "Refer to AccountFutureUpdateIdentifier data type Can be provided by the issuer (e.g. used as identifier in Issuer's system).\nIf not provided by the issuer, it is filled by default with the reference generated by our system.", "allOf": [ { "$ref": "#/$defs/AccountFutureUpdateIdentifier" } ] }, "sepaMandate": { "description": "The issuer can provide SEPA mandate", "allOf": [ { "$ref": "#/$defs/CreateAccountFutureUpdateRequestSepaMandate" } ] }, "iban": { "description": "Refer to Account.iban\nHas to be provided as part of future update mandate input, except if the SEPA mandate UMR is provided (comes from another system).", "type": "string" }, "updateReason": { "description": "Refer to AccountFutureUpdate.updateReason\nEmpty if no provided.", "type": "string" }, "ibanOwnerName": { "description": "Refer to Account.ibanOwnerName\nHas to be provided as part of future update mandate input, except if the SEPA mandate UMR is provided (comes from another system).", "type": "string" }, "bic": { "description": "Refer to Account.bic", "type": "string" }, "amountDueFixedAmount": { "description": "Refer to Account.amountDueFixedAmount", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "amountDueMinAmount": { "description": "Refer to Account.amountDueMinAmount", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "greaterOrLesserAmountDue": { "description": "Refer to Account.greaterOrLesserAmountDue", "type": "string" }, "amountDuePercentage": { "description": "Refer to Account.amountDuePercentage", "type": "string" }, "directDebitFixedAmount": { "description": "Refer to Account.directDebitFixedAmount", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "directDebitPercentage": { "description": "Refer to Account.directDebitPercentage", "type": "string" }, "selectedModels": { "type": "array", "description": "Select the required model from the list.\nOnly types 'directDebitAmountModel','accountAmountDueModel' are managed for future updates", "items": { "$ref": "#/$defs/AccountModel" } }, "sepaIndicator": { "type": "boolean", "description": "AccountFutureUpdate.sepaIndicator" }, "secondIban": { "type": "string", "description": "Refer to Account.secondIban" }, "paymentMode": { "type": "string", "description": "Refer to Account.paymentMode" } }, "$defs": { "AccountFutureUpdateIdentifier": { "type": "object", "properties": { "futureChangeReference": { "type": "string", "description": "A reference of an account future update (unique per account) that may be used to carry out research, find information, etc." } }, "title": "AccountFutureUpdateIdentifier" }, "AccountModel": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of an account model\nPossible values:\n•\teventFeeModel\n•\ttransactionFeeModel\n•\tmarkupFeeModel\n•\trestrictionModel\n•\tdebitInterestModel\n•\tinterestModel\n•\tdirectDebitAmountModel\n•\taccountAmountDueModel \n•\tstatementModel" }, "reference": { "type": "string", "description": "Reference to the particular model that has been selected in selectedModels" }, "originalModelReference": { "type": "string", "description": "DEPRECATED" } }, "title": "AccountModel" }, "Amount": { "type": "object", "required": [ "value", "exponent", "isoCode" ], "properties": { "value": { "type": "integer", "format": "int64", "description": "Integer amount value. Ex. if it is two hundred euros and 17 cents, then amount value is 20017 (exponent = 2 digits for currency=EUR)" }, "exponent": { "type": "integer", "format": "int32", "description": "Exponent of Amount. Number of decimal digits." }, "isoCode": { "type": "string", "description": "Currency code of amount\nThe currency in ISO4217 alphabetic format.\nExample: EUR for Euro" } }, "title": "Amount" }, "CreateAccountFutureUpdateRequestSepaMandate": { "type": "object", "properties": { "debtorPostalAddress": { "description": "Refer to AccountFutureUpdate.debtorPostalAddress", "allOf": [ { "$ref": "#/$defs/SepaMandateMailAddress" } ] }, "debtorEmail": { "type": "string", "description": "Refer to AccountFutureUpdate.debtorEmail" }, "debtorPhoneNumber": { "type": "string", "description": "Refer to AccountFutureUpdate.debtorPhoneNumber" }, "mandateContractId": { "type": "string", "description": "Refer to AccountFutureUpdate.mandateContractId" }, "mandateNatureType": { "type": "string", "description": "Refer to AccountFutureUpdate.mandateNatureType" }, "mandateSignCity": { "type": "string", "description": "Refer to AccountFutureUpdate.mandateSignCity" }, "mandateSignDate": { "type": "string", "description": "Refer to AccountFutureUpdate.mandateSignDate\nThe mandate signature date has to be provided except if the SEPA mandate UMR is provided (comes from another system).", "format": "date-time" }, "sepaMandateUmr": { "type": "string", "description": "Refer to Account.sepaMandateUmr\nThe unique reference to identify the SEPA mandate can be provided to our system if mandate is created explicitly by another system." } }, "title": "CreateAccountFutureUpdateRequestSepaMandate" }, "SepaMandateMailAddress": { "type": "object", "properties": { "typeCode": { "type": "string", "description": "DEPRECATED" }, "line1": { "type": "string", "description": "Address line 1 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "line2": { "type": "string", "description": "Address line 2 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "line3": { "type": "string", "description": "Address line 3 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "line4": { "type": "string", "description": "Address line 4 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "line5": { "type": "string", "description": "Address line 5 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "buildingNumber": { "type": "string", "description": "Building number of the address (optional)" }, "boxNumber": { "type": "string", "description": "Box number of the address (optional)" }, "streetName": { "type": "string", "description": "Street name of the address (optional)" }, "postCode": { "type": "string", "description": "zip code of the address (optional)" }, "townName": { "type": "string", "description": "City corresponding to the address" }, "countrySubdivision": { "type": "string", "description": "Subdivision of the country (optional)" }, "country": { "type": "string", "description": "Code of the country.Free text." } }, "title": "SepaMandateMailAddress" } } }