# Search direct debit mandates by filters Endpoint: GET /customers/directdebitmandates Version: 1.0.0 Security: Biller Access Token (Staging), Biller Access Token (Production) ## Query parameters: - `customerId` (string) The id of the customer associated to the direct debit mandate - `statuses` (array) The status of the direct debit mandate Enum: "CREATED", "PENDING", "ACTIVE", "CANCELLED", "MIGRATING" - `statusReasonCodes` (array) The reason code of the direct debit mandate 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" - `canBeReinstated` (boolean) Whether the mandate can be reinstated ## Response 200 fields (application/json): - `mandates` (array) The list of all direct debit mandates for the specified filter. - `mandates.id` (string) The ID of the mandate - `mandates.creationTime` (string) The creation time of the mandate - `mandates.lastUpdateTime` (string) The last time when the mandate was updated - `mandates.distributionTime` (string) The time when the mandate was sent to the customer - `mandates.authorisationTime` (string) The time when the mandate was signed by the customer - `mandates.submissionTime` (string) The time when the mandate was submitted to the payment provider - `mandates.status` (string) The mandate status Enum: "CREATED", "PENDING", "ACTIVE", "CANCELLED", "MIGRATING" - `mandates.failureReason` (string) The reason for failing to set up the mandate - `mandates.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" - `mandates.statusReason` (string) Reason explaining the current status of the direct debit mandate, especially useful for failure cases. - `mandates.customer` (object) The customer details - `mandates.customer.id` (string) The Adfin id of the customer. - `mandates.customer.externalId` (string) The id of the customer from the platform that is integrating with Adfin. - `mandates.customer.name` (string) The full name of the customer. - `mandates.customer.creationTime` (string) The time the customer was created. - `mandates.customer.lastUpdatedTime` (string) The last time when the customer was updated. - `mandates.customer.people` (array) The list of people assigned to the customer. - `mandates.customer.people.id` (string) The internal id of the person. - `mandates.customer.people.firstName` (string) The first name of the person. - `mandates.customer.people.lastName` (string) The last name of the person. - `mandates.customer.people.email` (string) The email of the person. - `mandates.customer.people.phoneNo` (string) The phone number of the person. - `mandates.customer.people.isPrimaryContact` (boolean) True if this person is a primary contact. - `mandates.customer.people.isIncludedInCommunications` (boolean) True if this person is included in the customers communications. - `mandates.customer.people.validForEmailCommunication` (boolean) - `mandates.customer.people.validForPhoneCommunication` (boolean) - `mandates.customer.addresses` (array) The list of the addresses for the customer. - `mandates.customer.addresses.id` (string) The internal id of the address. - `mandates.customer.addresses.city` (string) The name of the city. - `mandates.customer.addresses.postalCode` (string) The postal code. - `mandates.customer.addresses.country` (string) The name of the biller country. - `mandates.customer.addresses.addressLine1` (string) The name of the street, and the house or building number. - `mandates.customer.directDebitMandate` (object) Direct Debit details (if a mandate was created). - `mandates.customer.directDebitMandate.id` (string) The id of the direct debit mandate. - `mandates.customer.directDebitMandate.status` (string) Current status of the direct debit. Enum: "CREATED", "PENDING", "ACTIVE", "CANCELLED", "MIGRATING" - `mandates.customer.directDebitMandate.creationTime` (string) The time when the mandate was created - `mandates.customer.directDebitMandate.lastUpdatedTime` (string) The last time when the mandate was updated - `mandates.customer.directDebitMandate.url` (string) The URL where the customer can sign the direct debit mandate. - `mandates.customer.billerBankAccount` (object) Biller bank account for bank transfers - `mandates.customer.billerBankAccount.accountHolderAddress` (object) Address of the bank account holder. Optional; used for compliance and verification. - `mandates.customer.billerBankAccount.accountHolderName` (string, required) Full name of the bank account holder as registered with the bank. - `mandates.customer.billerBankAccount.bankAccount` (object, required) Bank account identifiers (e.g., account number and sort code or IBAN/BIC). - `mandates.customer.billerBankAccount.bankAccount.accountNumber` (string) - `mandates.customer.billerBankAccount.bankAccount.sortCode` (string) - `mandates.customer.billerBankAccount.bankAddress` (object) Address of the banking institution. Optional. - `mandates.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" - `mandates.customer.timezone` (string) The timezone of the customer. - `mandates.customer.discount` (object) The discount applied for the customer. - `mandates.customer.discount.percentage` (number) The discount as a percentage to be applied for the invoices. - `mandates.customer.discount.period` (integer) The period in hours until the discount expires. - `mandates.customer.externalData` (array) References about this customer from external platforms Adfin integrates with, such as ID, etc. - `mandates.customer.externalData.connectorType` (string, required) The name of the platform for which this data is stored for. Enum: "XERO", "QUICKBOOKS" - `mandates.customer.externalData.id` (string, required) The ID of the Customer in the external platform. - `mandates.customer.externalData.name` (string) The name of the Customer in the external platform. - `mandates.customer.tags` (array) The tag ids associated with the customer. - `mandates.customer.status` (string) The status of the customer (ACTIVE, ARCHIVED) Enum: "ACTIVE", "ARCHIVED" - `mandates.customer.statusReasonCode` (string) The reason as a predefined code for why the customer is in a certain status Enum: "MERGED", "ARCHIVED_MANUALLY" - `mandates.customer.settings` (object) Customer settings - `mandates.customer.settings.paymentSettings` (object) Customer payment settings - `mandates.customer.settings.paymentSettings.allowPartialPayments` (boolean) Indicates whether partial payments are allowed - `mandates.customer.settings.paymentSettings.minPartialPaymentAmount` (number) The minimum amount for partial payments - `mandates.customer.settings.paymentSettings.surchargeIsEnabled` (boolean) Indicates whether a surcharge is applied to commercial card payments - `mandates.customer.trackingItems` (array) The tracking item catalogues associated with the customer. - `mandates.customer.trackingItems.id` (string) The id of the tracking item catalogue entry - `mandates.customer.trackingItems.name` (string) The name of the tracking item catalogue entry - `mandates.customer.trackingItems.externalData` (array) The external data of the tracking item catalogue entry - `mandates.customer.trackingItems.externalData.externalId` (string) The unique id of the item in the external platform. - `mandates.customer.trackingItems.items` (array) The child tracking items (options) of this category - `mandates.customer.office` (object) The office associated with the customer. - `mandates.customer.office.id` (string) The unique identifier of the office. - `mandates.customer.office.name` (string) The name of the office. - `mandates.customer.office.trackingItemId` (string) The tracking item identifier. - `mandates.customer.office.details` (object) The office contact and address details. - `mandates.customer.office.details.email` (string) The office email address. - `mandates.customer.office.details.addressLine1` (string) The first line of the address. - `mandates.customer.office.details.addressLine2` (string) The second line of the address. - `mandates.customer.office.details.city` (string) The city. - `mandates.customer.office.details.country` (string) The country. - `mandates.customer.office.details.postcode` (string) The postcode. - `mandates.redirectUrl` (string) The (optional) redirect URL to redirect the user after they sign the mandate - `mandates.sender` (object) The sender details - `mandates.sender.name` (string) The registration name of the sender. - `mandates.bankAccountNumber` (string) The mandate bank account number - `mandates.sortCode` (string) The mandate sort code - `mandates.bankAccountHolderName` (string) The mandate bank account holder name