# Reinstate a cancelled direct debit mandate Endpoint: PUT /customers/directdebitmandates/{id}:reinstate Version: 1.0.0 Security: Biller Access Token (Staging), Biller Access Token (Production) ## Path parameters: - `id` (string, required) ## Response 200 fields (application/json): - `id` (string) The ID of the mandate - `creationTime` (string) The creation time of the mandate - `lastUpdateTime` (string) The last time when the mandate was updated - `distributionTime` (string) The time when the mandate was sent to the customer - `authorisationTime` (string) The time when the mandate was signed by the customer - `submissionTime` (string) The time when the mandate was submitted to the payment provider - `status` (string) The mandate status Enum: "CREATED", "PENDING", "ACTIVE", "CANCELLED", "MIGRATING" - `failureReason` (string) The reason for failing to set up the mandate - `statusReasonCode` (string) The reason as predefined code why the mandate is in a certain status Enum: "PENDING_DD_CAPABILITY", "PENDING_ACTIVATION", "MIGRATED", "BANK_ACCOUNT_CHANGED", "INCORRECT_BANK_DETAILS", "INSTRUCTION_CANCELLED_BY_PAYER", "PAYER_DECEASED", "ACCOUNT_TRANSFERRED", "ADVANCE_NOTICE_DISPUTED", "AMOUNT_DISPUTED", "MANDATE_NOT_FOUND", "DISPUTE_TOO_EARLY", "DISPUTE_TOO_LATE", "INVALID_SORT_CODE", "INVALID_ACC_NUMBER", "ACCOUNT_CLOSED", "CANCELLED_ON_DEMAND", "REINSTATED", "OTHER" - `statusReason` (string) Reason explaining the current status of the direct debit mandate, especially useful for failure cases. - `customer` (object) The customer details - `customer.id` (string) The Adfin id of the customer. - `customer.externalId` (string) The id of the customer from the platform that is integrating with Adfin. - `customer.name` (string) The full name of the customer. - `customer.creationTime` (string) The time the customer was created. - `customer.lastUpdatedTime` (string) The last time when the customer was updated. - `customer.people` (array) The list of people assigned to the customer. - `customer.people.id` (string) The internal id of the person. - `customer.people.firstName` (string) The first name of the person. - `customer.people.lastName` (string) The last name of the person. - `customer.people.email` (string) The email of the person. - `customer.people.phoneNo` (string) The phone number of the person. - `customer.people.isPrimaryContact` (boolean) True if this person is a primary contact. - `customer.people.isIncludedInCommunications` (boolean) True if this person is included in the customers communications. - `customer.people.validForEmailCommunication` (boolean) - `customer.people.validForPhoneCommunication` (boolean) - `customer.addresses` (array) The list of the addresses for the customer. - `customer.addresses.id` (string) The internal id of the address. - `customer.addresses.city` (string) The name of the city. - `customer.addresses.postalCode` (string) The postal code. - `customer.addresses.country` (string) The name of the biller country. - `customer.addresses.addressLine1` (string) The name of the street, and the house or building number. - `customer.directDebitMandate` (object) Direct Debit details (if a mandate was created). - `customer.directDebitMandate.id` (string) The id of the direct debit mandate. - `customer.directDebitMandate.status` (string) Current status of the direct debit. Enum: "CREATED", "PENDING", "ACTIVE", "CANCELLED", "MIGRATING" - `customer.directDebitMandate.creationTime` (string) The time when the mandate was created - `customer.directDebitMandate.lastUpdatedTime` (string) The last time when the mandate was updated - `customer.directDebitMandate.url` (string) The URL where the customer can sign the direct debit mandate. - `customer.billerBankAccount` (object) Biller bank account for bank transfers - `customer.billerBankAccount.accountHolderAddress` (object) Address of the bank account holder. Optional; used for compliance and verification. - `customer.billerBankAccount.accountHolderName` (string, required) Full name of the bank account holder as registered with the bank. - `customer.billerBankAccount.bankAccount` (object, required) Bank account identifiers (e.g., account number and sort code or IBAN/BIC). - `customer.billerBankAccount.bankAccount.accountNumber` (string) - `customer.billerBankAccount.bankAccount.sortCode` (string) - `customer.billerBankAccount.bankAddress` (object) Address of the banking institution. Optional. - `customer.billerBankAccount.currencyCode` (string, required) Currency of the bank account (ISO 4217). Enum: "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GGP", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "IMP", "INR", "IQD", "IRR", "ISK", "JEP", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SPL", "SRD", "STD", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TVD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XCD", "XDR", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZWD" - `customer.timezone` (string) The timezone of the customer. - `customer.discount` (object) The discount applied for the customer. - `customer.discount.percentage` (number) The discount as a percentage to be applied for the invoices. - `customer.discount.period` (integer) The period in hours until the discount expires. - `customer.externalData` (array) References about this customer from external platforms Adfin integrates with, such as ID, etc. - `customer.externalData.connectorType` (string, required) The name of the platform for which this data is stored for. Enum: "XERO", "QUICKBOOKS" - `customer.externalData.id` (string, required) The ID of the Customer in the external platform. - `customer.externalData.name` (string) The name of the Customer in the external platform. - `customer.tags` (array) The tag ids associated with the customer. - `customer.status` (string) The status of the customer (ACTIVE, ARCHIVED) Enum: "ACTIVE", "ARCHIVED" - `customer.statusReasonCode` (string) The reason as a predefined code for why the customer is in a certain status Enum: "MERGED", "ARCHIVED_MANUALLY" - `customer.settings` (object) Customer settings - `customer.settings.paymentSettings` (object) Customer payment settings - `customer.settings.paymentSettings.allowPartialPayments` (boolean) Indicates whether partial payments are allowed - `customer.settings.paymentSettings.minPartialPaymentAmount` (number) The minimum amount for partial payments - `customer.settings.paymentSettings.surchargeIsEnabled` (boolean) Indicates whether a surcharge is applied to commercial card payments - `customer.trackingItems` (array) The tracking item catalogues associated with the customer. - `customer.trackingItems.id` (string) The id of the tracking item catalogue entry - `customer.trackingItems.name` (string) The name of the tracking item catalogue entry - `customer.trackingItems.externalData` (array) The external data of the tracking item catalogue entry - `customer.trackingItems.externalData.externalId` (string) The unique id of the item in the external platform. - `customer.trackingItems.items` (array) The child tracking items (options) of this category - `customer.office` (object) The office associated with the customer. - `customer.office.id` (string) The unique identifier of the office. - `customer.office.name` (string) The name of the office. - `customer.office.trackingItemId` (string) The tracking item identifier. - `customer.office.details` (object) The office contact and address details. - `customer.office.details.email` (string) The office email address. - `customer.office.details.addressLine1` (string) The first line of the address. - `customer.office.details.addressLine2` (string) The second line of the address. - `customer.office.details.city` (string) The city. - `customer.office.details.country` (string) The country. - `customer.office.details.postcode` (string) The postcode. - `redirectUrl` (string) The (optional) redirect URL to redirect the user after they sign the mandate - `sender` (object) The sender details - `sender.name` (string) The registration name of the sender. - `bankAccountNumber` (string) The mandate bank account number - `sortCode` (string) The mandate sort code - `bankAccountHolderName` (string) The mandate bank account holder name ## Response 400 fields ## Response 404 fields