{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-modify-account-request-schema.json", "title": "ModifyAccountRequest", "x-generated": "2026-10-10", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/wordline-account-api-openapi.yml#/components/schemas/ModifyAccountRequest", "type": "object", "x-wl-patch-request": true, "properties": { "bic": { "type": "string", "description": "Refer to Account.bic" }, "paymentMode": { "type": "string", "description": "Refer to Account.paymentMode" }, "iban": { "type": "string", "description": "Refer to Account.iban" }, "overlimitContribution": { "type": "string", "description": "DEPRECATED" }, "accountGuarantorIdentifier": { "type": "object", "description": "Refer to Account.accountGuarantorIdentifier", "allOf": [ { "$ref": "#/$defs/CustomerIdentifier" } ] }, "closureCalendar": { "type": "string", "description": "DEPRECATED - closureCalendarReference should be used instead." }, "closureCalendarReference": { "type": "string", "description": "Refer to Account.closureCalendarReference" }, "secondIban": { "type": "string", "description": "Refer to Account.secondIban" }, "amountDueFixedAmount": { "type": "object", "description": "Refer to Account.amountDueFixedAmount.", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "amountDuePercentage": { "type": "string", "description": "Refer to Account.amountDuePercentage" }, "amountDueMinAmount": { "type": "object", "description": "Refer to Account.amountDueMinAmount", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "greaterOrLesserAmountDue": { "type": "string", "description": "Refer to Account.greaterOrLesserAmountDue" }, "accountHierarchySpecificFields": { "type": "object", "description": "The issuer can update Specific Fields for the account hierarchy.\nIt is a list of external data {\"label\":\"value\"} separated by a \",\" related to the account hierarchy (pass-thru data) that can be provided by e.g. the issuer for information or for usage by other systems.\nA new data can be added or an existing data can be updated {\"label1\":\"newValue\"} or removed {\"label2\":\"null\"}.\nAny existing data that is not present in this list is not updated in the account hierarchy.\nThose provided data have no impact on our system business processes.", "additionalProperties": { "type": "string" } }, "ibanOwnerName": { "type": "string", "description": "Refer to Account.ibanOwnerName" }, "spareChangeSaving": { "type": "boolean", "description": "Refer to Account.spareChangeSaving" }, "sepaIndicator": { "type": "boolean", "description": "Refer to Account.sepaIndicator" }, "directDebitFixedAmount": { "type": "object", "description": "Refer to Account.directDebitFixedAmount", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "directDebitPercentage": { "type": "string", "description": "Refer to Account.directDebitPercentage" }, "selectedModels": { "type": "array", "description": "Used to change the models of the account.", "items": { "$ref": "#/$defs/ModifyAccountRequestAccountModel" } }, "accountMembershipNumber1": { "type": "string", "description": "Refer to Account.accountMembershipNumber1" }, "accountMembershipNumber2": { "type": "string", "description": "Refer to Account.accountMembershipNumber2" }, "specificFields": { "type": "object", "description": "The issuer can update Specific Fields for the account.\nIt is a list of external data {\"label\":\"value\"} separated by a \",\" related to the account (pass-thru data) that can be provided by e.g. the issuer for information or for usage by other systems.\nA new data can be added or an existing data can be updated {\"label1\":\"newValue\"} or removed {\"label2\":\"null\"}.\nAny existing data that is not present in this list is not updated in the account.\nThose provided data have no impact on our system business processes.", "additionalProperties": { "type": "string" } }, "hierarchyOutgoingCreditTransferFeature": { "type": "object", "description": "The issuer can override each different Outgoing Credit Transfer (OCT) options if is allowed within the reimbursement model.", "allOf": [ { "$ref": "#/$defs/ModifyHierarchyOutgoingCreditTransferFeature" } ] }, "accountOutgoingCreditTransferFeature": { "description": "The issuer can override each different Outgoing Credit Transfer (OCT) options if is allowed within the reimbursement model.", "allOf": [ { "$ref": "#/$defs/ModifyAccountOutgoingCreditTransferFeature" } ] }, "noOtbCheck": { "type": "boolean", "description": "Refer to Account.noOtbCheck" }, "resetCreditLimit": { "type": "boolean", "description": "Refer to Account.resetCreditLimit" }, "liabilityType": { "type": "string", "description": "Refer to Account.liabilityType" }, "hierarchyDebitOrderDueDateDelay": { "type": "integer", "description": "Refer to Account.accountHierarchy.hierarchyDebitOrderDueDateDelay" }, "accountDebitOrderDueDateDelay": { "type": "integer", "description": "Refer to Account.accountDebitOrderDueDateDelay" }, "hierarchySelectedModels": { "type": "array", "description": "\nThe issuer can replace an account hierarchy model by another one (among those allowed for the product).\n\nE.g. OCT on demand is enabled in the current reimbursement model and is disabled in the new model.", "items": { "$ref": "#/$defs/AccountHierarchyModel" } }, "dunningCaseStatus": { "type": "string", "description": "Status of the Dunning Case (optional, pay later):\n- ACTIVE\n- CLOSED" }, "collectionCaseStatus": { "type": "string", "description": "Status of the Collection Case (optional, pay later):\n- ACTIVE\n- CLOSED" }, "creditBureauContractFlag": { "type": "boolean", "description": "The issuer can specify if the Credit Bureau part of the contract has been signed by the credit card owner (pay later)." }, "hierarchyOperationStatus": { "description": "The issuer can provide blocking/unblocking information for account hierarchy.", "allOf": [ { "$ref": "#/$defs/ModifyAccountHierarchyOperationStatus" } ] } }, "$defs": { "AccountHierarchyModel": { "type": "object", "properties": { "type": { "type": "string", "description": "Model type of the account hierarchy\nPossible value:\n• reimbursementModel." }, "reference": { "type": "string", "description": "Reference to the particular model that has been selected in hierarchySelectedModels." } }, "title": "AccountHierarchyModel" }, "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" }, "CustomerIdentifier": { "type": "object", "description": "Identification of the updated customer either by Issuer customer external reference or by customer reference", "properties": { "customerReference": { "type": "string", "description": "Reference computed internally by our system" }, "issuerCustomerExternalReference": { "type": "string", "description": "Reference provided by the Issuer" } }, "title": "CustomerIdentifier" }, "ModifyAccountHierarchyOperationStatus": { "type": "object", "x-wl-patch-request": true, "properties": { "paymentsBlocking": { "type": "boolean", "description": "The issuer can block/unblock online payments for all accounts of the account hierarchy." }, "reimbursementsBlocking": { "type": "boolean", "description": "The issuer can block/unblock online reimbursements for all accounts of the account hierarchy." }, "authorizationsBlocking": { "type": "boolean", "description": "The issuer can block/unblock authorizations for all accounts of the account hierarchy." }, "blockingReason": { "type": "string", "description": "If at least one blocking (flag is true) is requested, the blocking reason must be provided (configured at issuer level).Not to be provided if the 3 blocking flags are not requested (flags are false)." }, "comment": { "type": "string", "description": "The issuer can provide a comment (free text)." } }, "description": "The issuer can update blocking information for the account hierarchy.", "title": "ModifyAccountRequest.HierarchyOperationStatus" }, "ModifyAccountOutgoingCreditTransferFeature": { "type": "object", "x-wl-patch-request": true, "properties": { "periodicOctAllowed": { "type": "boolean", "description": "The issuer can override the periodic OCT option , if it is possible within the reimbursement model to change the default choice." }, "periodicOctType": { "type": "string", "description": "The issuer can override the periodic OCT type if allowed within the reimbursement model. \nPossibles values: \n- DAILY (OCT can be triggered on a daily basis if account is in credit position) \n- CYCLIC (OCT can be triggered at cycle closure date if account is in credit position)", "enum": [ "DAILY", "CYCLIC" ] }, "periodicMaxThreshold": { "description": "The issuer can override the maximum threshold amount used for generating the periodic OCT if the change is allowed within the reimbursement model. When the account balance is greater than the threshold, the OCT amount will be equal to the (account credit balance - threshold amount). Ex: thresold is 10.000€ and credit balance is : 15.000€: the OCT amount is 5.000€.", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "octOnContractTerminationAllowed": { "type": "boolean", "description": "The issuer can override the \"OCT on contract termination\" option if it is allowed within the reimbursement model to change the default choice." }, "octOnAccountTerminationAllowed": { "type": "boolean", "description": "The issuer can override the option to generate an OCT when card contract closing if it is allowed within the reimbursement model." }, "octOnContractSuspensionAllowed": { "type": "boolean", "description": "The issuer can enable or disable the Outgoing Credit Transfer generation on contract suspension, if the override of the option is allowed by the product (in reimbursement model)." }, "octOnDemandAllowed": { "type": "boolean", "description": "The issuer can override the \"OCT on demand\" option if it is allowed within the reimbursement model to change the default choice." }, "octOnDemandLimitType": { "type": "string", "description": "The issuer can override the limit type of the \"OCT on demand\" option if allowed within the reimbursement model.\nPossible values:\n- BALANCE (= a customer can only request an OCT in case of account in credit position)\n- OTB (open-to-buy) (=a customer can request an OCT from its current Open-to-buy (so from its credit limit allowed by the issuer)", "enum": [ "OTB", "BALANCE" ] }, "octOnContractTerminationType": { "type": "string", "enum": [ "CONTRACT_TERMINATION", "ACCOUNT_CLOSING" ] } }, "description": "The issuer can override each different Outgoing Credit Transfer (OCT) options if is allowed within the reimbursement model.", "title": "ModifyAccountRequest.AccountOutgoingCreditTransferFeature" }, "ModifyAccountRequestAccountModel": { "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 of the new model to be selected\nRefer to AccountModel.reference" }, "originalModelReference": { "type": "string", "description": "Reference of the current model to be changed\nMust be provided for the following models. :\n•\tmarkupFeeModel\n•\ttransactionFeeModel" } }, "title": "ModifyAccountRequest.AccountModel" }, "ModifyHierarchyOutgoingCreditTransferFeature": { "type": "object", "x-wl-patch-request": true, "properties": { "periodicOct": { "type": "boolean", "description": "The issuer can override the periodic OCT option, if it is possible within the reimbursement model to change the default choice." }, "periodicOctType": { "type": "string", "description": "The issuer can override the periodic OCT type if allowed within the reimbursement model.\nPossibles values:\n- DAILY (OCT can be triggered on a daily basis if account is in credit position)\n- CYCLIC (OCT can be triggered at cycle closure date if account is in credit position)", "enum": [ "DAILY", "CYCLIC" ] }, "periodicMaxThreshold": { "description": "The issuer can override the maximum threshold amount used for generating the periodic OCT if the change is allowed within the reimbursement model. When the account balance is greater than the threshold, the OCT amount will be equal to the (account credit balance - threshold amount). Ex: thresold is 10.000€ and credit balance is : 15.000€: the OCT amount is 5.000€.", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "octOnContractTerminationAllowed": { "type": "boolean", "description": "The issuer can override the \"OCT on contract termination\" option if it is allowed within the reimbursement model to change the default choice." }, "octOnAccountTerminationAllowed": { "type": "boolean", "description": "The issuer can override the option to generate an OCT when card contract closing if it is allowed within the reimbursement model." }, "octOnContractSuspensionAllowed": { "type": "boolean", "description": "The issuer can enable or disable the Outgoing Credit Transfer generation on contract suspension, if the override of the option is allowed by the product (in reimbursement model)." }, "octOnDemandAllowed": { "type": "boolean", "description": "The issuer can override the \"OCT on demand\" option if it is allowed within the reimbursement model to change the default choice." }, "octOnDemandLimitType": { "type": "string", "description": "The issuer can override the limit type of the \"OCT on demand\" option if allowed within the reimbursement model.\nPossible values:\n- BALANCE (= a customer can only request an OCT in case of account in credit position)\n- OTB (open-to-buy) (=a customer can request an OCT from its current Open-to-buy (so from its credit limit allowed by the issuer)", "enum": [ "OTB", "BALANCE" ] }, "octOnContractTerminationType": { "type": "string", "enum": [ "CONTRACT_TERMINATION", "ACCOUNT_CLOSING" ] } }, "description": "Specify OctFeature (periodicOct, periodicOctType, periodicOctMaxThreshold, etc.)", "title": "ModifyHierarchyOutgoingCreditTransferFeature" } } }