{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-api-response-entity-direct-debit-schema.json", "title": "ApiResponseEntityDirectDebit", "description": "Issuer response entity", "x-generated": "2026-10-10", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/wordline-direct-debit-api-openapi.yml#/components/schemas/ApiResponseEntityDirectDebit", "x-wl-api-response": true, "type": "object", "required": [ "responseMetadata" ], "properties": { "responseMetadata": { "description": "Response metadata", "allOf": [ { "$ref": "#/$defs/ResponseMetadata" } ] }, "data": { "description": "Response data", "allOf": [ { "$ref": "#/$defs/DirectDebit" } ] } }, "$defs": { "AccountIdentifier": { "type": "object", "properties": { "accountReference": { "type": "string", "description": "Account reference is to identify the Account calculated by the system (algorithm is configurable per issuer). Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used." }, "issuerAccountExternalReference": { "type": "string", "description": "Issuer account external reference is to identify the Account. Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used. Algorithm configurable by issuer, can be generated by the system if there is an externalReferenceGeneratorAlgorithm." } }, "title": "AccountIdentifier" }, "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" }, "DirectDebit": { "type": "object", "properties": { "issuerId": { "type": "string", "description": "Issuer identifier (unique per platform)" }, "directDebitIdentifier": { "description": "Unique identifier of the Direct Debit", "allOf": [ { "$ref": "#/$defs/DirectDebitIdentifier" } ] }, "overPaymentAccountIdentifier": { "description": "Identifier of the overpayment account ", "allOf": [ { "$ref": "#/$defs/AccountIdentifier" } ] }, "payingAccountIdentifier": { "description": "Identifier of the paying account", "allOf": [ { "$ref": "#/$defs/AccountIdentifier" } ] }, "sci": { "type": "string", "description": "SEPA Creditor Identifier (for SEPA DD)" }, "mandateUmr": { "type": "string", "description": "Unique Mandate Reference (for SEPA DD)" }, "amount": { "description": "Direct Debit due amount", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "sepaIndicator": { "type": "boolean", "description": "Indicates if DD is SEPA or no" }, "creationDate": { "type": "string", "format": "date-time", "description": "Creation Date of the DD" }, "extractType": { "type": "string", "description": "Extract type" }, "status": { "type": "string", "description": "DD Status" }, "dueDate": { "type": "string", "format": "date-time", "description": "Due date" }, "sequenceType": { "type": "string", "description": "Sequence type" }, "remittanceInfo": { "type": "string", "description": "Remittance info" }, "rejectionReason": { "type": "string", "description": "Rejection Reason (if SDD is rejected)" }, "debtorBankFee": { "description": "Debtor Bank Fee", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "creditorBankFee": { "description": "Creditor Bank Fee", "allOf": [ { "$ref": "#/$defs/Amount" } ] }, "cancellationDate": { "type": "string", "format": "date-time", "description": "The date when the Direct Debit order was canceled" }, "statusHistory": { "description": "Debtor Bank Fee.\n_Embedded property, only filled when available for the endpoint and explicitly requested in the 'embed' query parameter._", "type": "array", "items": { "$ref": "#/$defs/DirectDebitStatusHistory" } }, "paymentTrigger": { "type": "string", "description": "Indicates how the payment is triggered \nThe possible values are :\n- ON_DEMAND\n- CYCLIC (related to monthly cycle closure)\n- ON_TRANSACTION" }, "paymentReason": { "type": "string", "description": "Reason why the payment is triggered \nThe list of possible payment reasons is configurable per issuer." } }, "title": "DirectDebit" }, "DirectDebitIdentifier": { "type": "object", "properties": { "endToEndId": { "type": "string", "description": "DD identifier" } }, "title": "DirectDebitIdentifier" }, "DirectDebitStatusHistory": { "type": "object", "properties": { "status": { "type": "string", "description": "Status of the direct debit transfer on the particular status date " }, "statusDate": { "type": "string", "format": "date-time", "description": "Date of the direct debit status change" }, "username": { "type": "string", "description": "Name of the user who requested to create or cancel the direct debit" }, "origin": { "type": "string", "description": "Origin used when the direct debit was requested or cancelled." } }, "title": "DirectDebitStatusHistory" }, "Links": { "type": "object", "required": [ "self" ], "properties": { "self": { "type": "string", "description": "Service method URL" }, "next": { "type": "string", "description": "URL pagination query parameter next page" } }, "title": "Links" }, "ResponseMetadata": { "type": "object", "required": [ "correlationId", "responseDateTime", "statusCode", "statusMessage" ], "properties": { "correlationId": { "type": "string", "description": "Correlation Identifier" }, "links": { "description": "Metadata Links", "allOf": [ { "$ref": "#/$defs/Links" } ] }, "statusMessage": { "type": "string", "description": "Executed REST API status message" }, "statusCode": { "type": "integer", "format": "int32", "description": "HTTP status code" }, "responseDateTime": { "type": "string", "description": "Timestamp when response date was generated" }, "timeTakenMs": { "type": "integer", "format": "int64", "description": "Wall clock time required from service to generate the response" } }, "title": "ResponseMetadata" } } }