Revamp of Mambu APIs
  • 08 Jul 2025
  • 5 Minutes To Read
  • Dark
    Light
  • PDF

Revamp of Mambu APIs

  • Dark
    Light
  • PDF

Article summary

Mambu is transitioning to API v2 to improve integrations with its cloud banking platform, featuring a new idempotency mechanism for reliable data handling, seamless pagination, and enhanced security controls. The transition, initially planned in three phases, has been streamlined: Phases 1 and 2 are now combined and rescheduled for Q2 2025, while Phase 3 is set for 2026. The updated endpoints will provide faster responses and improved functionality. Key dates include the start of the notice period on January 31, 2024, and the final reminder on November 28, 2024. API v1 will be disabled in Sandbox environments on August 4, 2025, and in Production on September 22, 2025. Users must audit their systems for API v1 usage and transition to API v2 endpoints by August 25, 2025, to avoid errors.

As part of our ongoing commitment to enhancing your experience with our platform, we're transitioning to API v2 to deliver more streamlined and efficient integrations between your systems and the Mambu cloud banking platform. These enhancements include:

  • Enhancements in design, with the inclusion of an idempotency mechanism to ensure data handling is more consistent and reliable.
  • Seamless pagination for effortless data retrieval, and more refined details which will add precision to your operations.
  • An enhanced developer-friendly framework with more mature security controls.

Recap of our previous communication

In January 2024, we informed you about the revamp of our APIs and the transition to API v2. This transition was outlined in three phases:

  • Phase 1: Targeting endpoints with 1-to-1 mirroring of functionality, scheduled for completion by April 30, 2024.
  • Phase 2: Focused on endpoints with redesigned functionality in API v2.
  • Phase 3: Addressing entirely new endpoints.

What is changing?

Phases 1 & 2 are now combined for a streamlined transition and are rescheduled for Q2 2025. Phase 3 is planned for 2026.

Redesigned endpoints originally planned for phase 2 are now included in phase 1. The updated endpoints offer faster responses, new and improved functionality exclusive to API v2, and a streamlined API framework for easier maintenance.

The extension of the first two phases to Q2 2025 offers sufficient time for you to adapt your systems infrastructure and seamlessly migrate to the new endpoints.

Here's the updated timeline, which is subject to change:

  • 31 January 2024: Commencement of the notice period and change notification
  • 16 April 2024: Notification of extended transition timeline and first reminder
  • 18 July 2024: Second reminder
  • 22 October 2024: Third reminder
  • 28 November 2024: Final reminder
  • August 04: API v1 will be disabled in the Sandbox environments. This marks the start of the official Sandbox testing period for customers.
  • September 22: API v1 will be disabled in Production.

What actions do you need to take?

Complete these actions to avoid receiving the error message below:

  • Conduct an audit of your systems architecture to identify any use of API v1 endpoints within the scope of phases 1 and 2 that need to be transitioned.
  • Transition your integration code from API v1 to equivalent v2 endpoints before August 25 2025.

Failure to do so will result in the following error message:

500
    “returnCode”: 3,
“returnStatus”: “INVALID_API_OPERATION”

API v1 endpoints we will stop supporting in production as of September 2025

Mambu API v1 endpoint Base URL https://TENANT_NAME.mambu.com/apiCorrespondent Mambu API v2 endpoint Base URL https://TENANT_NAME.mambu.com/api
DELETE /documents/{documentId}DELETE /documents/{documentId}
DELETE /documents/{documentId}DELETE /documents/{documentId}
DELETE /loans/{loanAccountId}DELETE /loans/{loanAccountId}
GET /branchesGET /branches
GET /branches/{branchId}GET /branches/{branchId}
GET /centresGET /centres
GET /centres/{centreId}GET /centres/{centreId}
GET /clientsGET /clients
GET /clients/{clientId}GET /clients/{clientId}
GET /customfields/{customFieldId}GET /customfields/{customFieldId}
GET /customfieldsetsGET /customfieldsets
GET /documents/{documentId}GET /documents/{documentId}
GET /groupsGET /groups
GET /groups/{groupId}GET /groups/{groupId}
GET /loansGET /loans
GET /loans/{loanAccountId}GET /loans/{loanAccountId}
GET /loans/{loanAccountId}/templates/{templateId}GET /loans/{loanAccountId}/templates/{templateId}
GET /tasksGET /tasks
GET /userrolesGET /userroles
GET /usersGET /users
GET /users/{userId}GET /users/{userId}
PATCH /clients/{clientId}PATCH /clients/{clientId}
POST /clientsPOST /clients
POST /clients/{clientId}/documentsPOST /clients/{clientId}/documents
POST /database/backupPOST /database/backup
POST /documentsPOST /documents
POST /groupsPOST /groups
POST /indexratesources/{indexRateSourceId}/indexratesPOST /indexratesources/{indexRateSourceId}/indexrates
POST /loansPOST /loans
POST /usersPOST /users
PATCH /linesofcredit/{lineOfCreditId}PATCH /creditarrangements/{creditArrangementId}
GET /linesofcredit/{lineOfCreditId}/accountsGET /creditarrangements/{creditArrangementId}/accounts
PATCH /linesofcredit/{lineOfCreditId}/custominformationPATCH /creditarrangements/{creditArrangementId}
DELETE /linesofcredit/{lineOfCreditId}/custominformation/{customFieldId}PATCH /creditarrangements/{creditArrangementId}
GET /linesofcreditGET /creditarrangements
GET /currenciesGET /currencies
GET /currencies/{currencyCode}GET /currencies/{currencyCode}
GET /transactionchannelsGET /organization/transactionChannels
GET /settings/organizationGET /setup/organization
DELETE/savings/{savingsAccountId}DELETE/deposits/{depositAccountId}
POST /groups/searchPOST /groups:search
POST /clients/searchPOST /clients:search
POST /notifications/messages/searchPOST /communications/messages:search
POST /savings/searchPOST /deposits:search
POST /loans/searchPOST /loans:search
POST /loans/transactions/searchPOST /loans/transactions:search
POST /linesofcredit/searchPOST /creditarrangements:search

New endpoints added to phase 1

Mambu API v1 endpoint Base URL https://TENANT_NAME.mambu.com/apiCorrespondent Mambu API v2 endpoint Base URL https://TENANT_NAME.mambu.com/api
GET /savings/{savingsAccountId}/commentsGET /comments?{ownerType&ownerKey}
POST/savings/{savingsAccountId}/commentsPOST /comments, expects a JSON payload in the form {"ownerKey": "{ownerKey}", "ownerType": "{ownerType}", "text": "string text"}
DELETE /branches/{branchId}/documents/{documentId}DELETE /documents/{documentId}, API returns 204 (No content) for successful deletion, as opposed to 200 returned by V1.
DELETE /centres/{centreId}/documents/{documentId}DELETE /documents/{documentId}, API returns 204 (No content) for successful deletion, as opposed to 200 returned by V1.
DELETE /clients/{clientId}/documents/{documentId}DELETE /documents/{documentId}, API returns 204 (No content) for successful deletion, as opposed to 200 returned by V1.
DELETE /documents/{documentId}DELETE /documents/{documentId}, API returns 204 (No content) for successful deletion, as opposed to 200 returned by V1.
DELETE /groups/{groupId}/documents/{documentId}DELETE /documents/{documentId}, API returns 204 (No content) for successful deletion, as opposed to 200 returned by V1.
DELETE /loanproducts/{loanProductId}/documents/{documentId}PATCH /loanproducts/{loanProductId}
DELETE /loans/{loanAccountId}/documents/{documentId}DELETE /documents/{documentId}
DELETE /savings/{savingsAccountId}/documents/{documentId}DELETE /documents/{documentId}
DELETE /savingsproducts/{savingsProductId}/documents/{documentId}DELETE /documents/{documentId}
DELETE /users/{userId}/documents/{documentId}DELETE /documents/{documentId}
GET /branches/{branchId}/documentsGET /documents/documentsMetadata + GET /documents/{documentId}, V2 metadata endpoint expects entity type as required query parameter. In this case, entity=BRANCH
GET /branches/{branchId}/documents/{documentId}GET /documents/{documentId}
GET /centres/{centreId}/documentsGET /documents/documentsMetadata + GET /documents/{documentId}, V2 metadata endpoint expects entity type as required query parameter. In this case, entity=CENTRE
GET /centres/{centreId}/documents/{documentId}GET /documents/{documentId}
GET /clients/{clientId}/loans/{loanAccountId}GET /loans and specify account holder id
GET /clients/{clientId}/linesofcreditGET /clients/{clientId}/creditarrangements
GET /clients/{clientId}/documentsGET /clients/{clientId}/documentsMetadata + GET /documents/{documentId}, V2 metadata endpoint expects entity type as required query parameter. In this case, entity=CLIENT
GET /clients/{clientId}/documents/{documentId}GET /clients/documents/{documentId}
GET /documentsGET /documents/documentsMetadata + GET /documents/{documentId}
GET /documents/{documentId}GET /documents/{documentId}
GET /groups/{groupId}/documentsGET /documents/documentsMetadata + GET /documents/{documentId}, V2 metadata endpoint expects entity type as required query parameter. In this case, entity=GROUP
GET /groups/{groupId}/documents/{documentId}GET /documents/{documentId}
GET /groups/{groupId}/linesofcreditGET /groups/{groupId}/creditarrangements
GET /loanproducts/{loanProductId}/documentsGET /documents/documentsMetadata
GET /loanproducts/{loanProductId}/documents/{documentId}GET /documents/{documentId}
GET /loanproducts/{loanProductId}/schedulePOST /loans/schedule:preview
GET /loans/{loanAccountId}/documentsGET /documents/documentsMetadata
GET /loans/{loanAccountId}/documents/{documentId}GET /documents/{documentId}
GET /repaymentsGET /installments (returns all installments between two dates compared with api v1 that excludes the paid installments)
GET /loans/{loanAccountId}/transactionsGET /loans/{loanAccountId}/transactions
GET /linesofcredit/{lineOfCreditId}GET /creditarrangements/{creditArrangementId}
GET /linesofcredit/{lineOfCreditId}/custominformation/{customFieldId}GET /creditarrangements/{creditArrangementId} with full details
GET /users/{userId}/documentsGET /documents/documentsMetadata + GET /documents/{documentId}
POST /branches/{branchId}/documentsPOST /documents
GET /users/{userId}/documents/{documentId}GET /documents/{documentId}
POST /centres/{centreId}/documentsPOST /documents
POST /documentsPOST /documents
POST /groups/{groupId}/documentsPOST /documents
POST /loanproducts/{loanProductId}/documentsPOST /documents
POST /loans/{loanAccountId}/documentsPOST /documents
POST /savings/{savingsAccountId}/documentsPOST /documents
POST /savingsproducts/{savingsProductId}/documentsPOST /documents
POST /users/{userId}/documentsPOST /documents
GET /branches/{branchId}/commentsGET /comments, Expects ownerType and ownerKey as required parameters (i.e. BRANCH + branch encoded key)
GET /centres/{centreId}/commentsGET /comments, Expects ownerType and ownerKey as required parameters (i.e. CENTRE + centre encoded key)
GET /clients/{clientId}/commentsGET /comments, Expects ownerType and ownerKey as required parameters (i.e. CLIENT + client encoded key)
GET /groups/{groupId}/commentsGET /comments, Expects ownerType and ownerKey as required parameters (i.e. GROUP + group encoded key)
GET /loanproducts/{loanProductId}/commentsGET /comments and filter for loan product
GET /loans/{loanAccountId}/commentsGET /comments and filter for loan account
GET /loans/{loanAccountId}/custominformation/{customFieldId}GET /loans/{loanAccountId} with details level full
GET /savingsproducts/{savingsProductId}/commentsGET /comments, Expects ownerType and ownerKey as required parameters (i.e. SAVINGS_PRODUCT + savings product encoded key)
GET /users/{userId}/commentsGET /comments, Expects ownerType and ownerKey as required parameters (i.e. USER + user encoded key)
POST /branches/{branchId}/commentsPOST /comments
POST /centres/{centreId}/commentsPOST /comments
POST /clients/{clientId}/commentsPOST /comments
POST /groups/{groupId}/commentsPOST /comments
POST /loanproducts/{loanProductId}/commentsPOST /comments
POST /loans/{loanAccountId}/commentsPOST /comments
POST /savingsproducts/{savingsProductId}/commentsPOST /comments
POST /users/{userId}/commentsPOST /comments
POST /linesofcreditPOST /creditarrangements
POST /linesofcredit/{lineOfCreditId}/loans/{loanAccountId}POST /creditarrangements/{creditArrangementId}:addAccount

Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.