{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/if/main/json-schema/if-direct-debit-mandate-update-request-body-schema.json", "title": "DirectDebitMandateUpdateRequestBody", "description": "request model", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/if-outgoing-transfer-api-openapi.yml#/components/schemas/DirectDebitMandateUpdateRequestBody", "required": [ "connect", "data", "metadata", "workflow" ], "type": "object", "properties": { "workflow": { "$ref": "#/$defs/DirectDebitMandateUpdateWorkflowContainer" }, "data": { "$ref": "#/$defs/DirectDebitMandateUpdateRequestBodyDataContainer" }, "connect": { "$ref": "#/$defs/DirectDebitMandateUpdateConnectContainer" }, "metadata": { "$ref": "#/$defs/DirectDebitMandateUpdateMetadataContainer" } }, "$defs": { "DirectDebitMandateCancellationReason": { "type": "string", "description": "reason the mandate is cancelled: user-requested, account-closed, organization-action", "enum": [ "account-closed", "organization-action", "user-requested" ] }, "DirectDebitMandateRejectionReason": { "type": "string", "description": "reason the mandate is rejected: user-requested, account-closed, other", "enum": [ "account-closed", "user-requested", "other" ] }, "DirectDebitMandateUpdateCommandInput": { "required": [ "status" ], "type": "object", "properties": { "status": { "type": "string", "description": "new status of an active mandate: cancelled or rejected", "enum": [ "cancelled", "rejected" ] }, "cancellationReason": { "$ref": "#/$defs/DirectDebitMandateCancellationReason" }, "rejectionReason": { "$ref": "#/$defs/DirectDebitMandateRejectionReason" } } }, "DirectDebitMandateUpdateConnectContainer": { "type": "object", "properties": { "type": { "type": "string" }, "serviceProvider": { "type": "string" } } }, "DirectDebitMandateUpdateMetadataContainer": { "type": "object", "description": "metadata container" }, "DirectDebitMandateUpdateRequestBodyDataContainer": { "required": [ "directDebitMandate" ], "type": "object", "properties": { "directDebitMandate": { "$ref": "#/$defs/DirectDebitMandateUpdateCommandInput" } }, "description": "data container of the update request" }, "DirectDebitMandateUpdateWorkflow": { "type": "string", "enum": [ "client.direct", "organization.direct" ] }, "DirectDebitMandateUpdateWorkflowContainer": { "required": [ "code" ], "type": "object", "properties": { "code": { "$ref": "#/$defs/DirectDebitMandateUpdateWorkflow" } }, "description": "workflow container" } } }