# Overview Source: https://docs.mambu.com/docs/developer-overview In keeping with our philosophy of composable banking, Mambu provides many ways to develop software to interact with our services and features. ## Mambu APIs Mambu offers a full suite of RESTful APIs to provide programmatic access to nearly every aspect of our banking software, typically with JSON or YAML requests. Our APIs include: - [API v2](/api/pages/api-v2/welcome): APIs for our core banking platform. - [API v1](/api/pages/api-v1/welcome): Our legacy core banking API. - [Mambu Payments Gateway API](https://api.mambu.com/payments-api/#welcome): For making and receiving payments, mapping accounts to IBAN, Anti Money Laundering, and more. - [Streaming API](/api/pages/streaming/streaming-index): An enterprise feature which allows customers to set up configurable event feeds that can be used to power your own banking ecosystem. - [MPO API](https://ecosystem.mambu.com/mpo/overview/): An enterprise package which acts as a middle layer between different systems to pull, process, and push data via APIs. MPO has its own independent Remote Procedure Call API. For more information, see [Mambu APIs](/docs/mambu-apis). ## Webhooks Mambu supports highly-configurable webhooks, which may be used as user-defined callbacks triggered when your specified conditions are met by the cloud banking platform. For example, you may configure a webhook to `POST` a custom payload to your application whenever a loan account goes into arrears. For more information, see [Webhooks](/docs/webhooks-overview). ## Configuration as Code Configuration as Code (CasC) allows you to quickly configure new instances, standardize and migrate configuration between tenants, and duplicate configuration settings for multiple sandboxes. With CasC, you can batch configure supported Mambu elements such as organization details, custom field definitions, holidays, branches, user roles, and more via the API. This allows you to get or set multiple configuration settings for a supported element with a single API call per tenant. For more information, see [Configuration as Code](/docs/configuration-as-code-1/). ## Jasper Reports JasperReports is a powerful open source reporting tool that has the ability to deliver rich content onto the screen, to the printer, or to a variety of supported file formats. Jasper reports can be built to work with Mambu using a few simple steps. For more information, see [Jasper Custom Reports](/docs/jasper-reporting-overview). ## Mambu Apps Mambu Apps allow partners and developers to extend Mambu's capability and to add value with little effort. Apps are defined in a simple XML file - the definition includes general information about the application as well as specific endpoints and extension point which define how the app is shown in Mambu. For more information, see [Building Apps](/docs/introduction-to-mambu-apps). ## Frequently Asked Questions **How do I develop and test my apps?** We highly recommend using our [Sandbox environment](/docs/sandbox). Every partner and paying organization has access to a second environment where they can freely develop and test against APIs. This gives you a safe environment where you can try out new APIs, test changes, and experiment with new ideas. **Do you have wrapper libraries?** Our APIs are constantly being improved to add endpoints and features, and we generally recommend using a lightweight API client to access our APIs. This will make it easier to update and customize your API usage for the operations you are interested in. However, we do provide an open source Java wrapper library in our [GitHub space](https://github.com/mambu-gmbh/Mambu-APIs-Java), and you may download SDKs in a variety of languages. For more information on our SDKs, see [Tenant API Reference](/api/pages/api-v2/details-level) in our API Reference guide. **How is version control handled?** We do not support versioning. However, APIs are backward-compatible for at least one release and we announce any changes with our release notes. This means you'll have up to six months to change over from any modified APIs. See [Mambu Release Cycle](/docs/mambu-release-cycle) for more information. **How are new features rolled out?** We are constantly adding more functionality and improving the performance of our APIs with every release of Mambu. You can stay up to date on new features with our release notes, which are published on our [Mambu Community site](https://community.mambu.com/c/release-notes/18). If you have any specific questions or requests about the API roadmap, please [contact us](http://www.mambu.com/contact). **How can I check if a Mambu server is available?** The `/healthcheck` endpoint is a convenient way to manually or automatically check the status of a specific Mambu server. If the Mambu server is available, it will return response code `HTTP 200 OK`. You can enter the URL into a web browser or call the API using your tool of choice. Our [status page](https://status.mambu.com) will also provide you with real-time information and metrics on all servers, more information can be found in our [Mambu status](/docs/mambu-status) support page. **What is the tenant URL and endpoint for checking availability?**: You can check availability at `https://TENANT_NAME.mambu.com/healthcheck` using the following request: ```curl GET https://TENANT_NAME.mambu.com/healthcheck ``` | Response Code | Text | Description | | --- | --- | --- | | 200 | OK | Server is functioning properly | | 500 | Internal Server Error |Server is not available |