Initiate Mandate Authorisation
Last updated March 11th, 2026
post api.withmono.com/v2/payments/initiateThis resource returns a link for your customers to authorise their mandate. It is helpful when you don't need to customise the flow. When you use this resource to setup a mandate, you have no need for the create a mandate endpoint.
Incoming Changes for GSM (Effective March 25th, 2026)
We’re rolling out an update to the Direct Debit API regarding the mandate_type field for Mono Sweep.
What’s changing
The mandate type is being updated from gsm to sweep across the Direct Debit APIs and webhook events.
Backward compatibility
To prevent disruption to existing integrations, this change is mapped internally. This means:
- If your integration currently sends "gsm", the request will still be accepted.
- However, responses and webhook payloads will now return "sweep" as the mandate type.
What you should do
We recommend updating your integration to use sweep going forward when creating mandates.
If you have any questions or need assistance updating your integration, please reach out to our support team.

A more detailed guide on using this resource can be found here.
Regarding the readiness for debiting the account:
Signed Mandate: Upon bank approval, signed mandate accounts are immediately available for debiting and balance inquiries.
E-mandate: With an e-mandate setup, a waiting period of 1 hour max should be observed following approval before debiting and balance inquiries can be conducted.

Debit Types & Amount
Variable: The amount represents the total funds a business plans to collect from a customer over the mandate period. Individual debit amounts can vary within this total limit.
Fixed: The amount specifies the exact amount to be debited per transaction. The total debit is automatically calculated based on this fixed amount. Once set during mandate authorization, this amount cannot be modified.
Request
curl --request POST \
--url https://api.withmono.com/v2/payments/initiate \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'mono-sec-key: string' \
--data {
"amount": 9190030,
"type": "recurring-debit",
"method": "mandate",
"mandate_type": "emandate", // or "signed" or "gsm"
"debit_type": "variable", // or "fixed"
"description": "Repayment for samuel@neem.com",
"reference": "testO2b9O9EF903949493432",
"redirect_url": "https://mono.co",
"customer": {
"id":"65eb623b0000900009e5c1f21cd"
},
"start_date": "2024-03-29",
"end_date": "2024-08-04",
"meta": {}
}
Response
Choose an option from the drop down or click one of these buttons to see an example:
