Initiate Mandate Authorisation

Last updated March 11th, 2026

post api.withmono.com/v2/payments/initiate
v1.0

This 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.

callout-icon

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

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.

Body Params - Variable Mandate
Body Params - Fixed Mandate
Headers

Request

123456789101112131415161718192021
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:

Did this page help you?