The Pushpay Platform has rich support for exposing metdata about it's own API in a structured way, including available operations, models, documentation and examples.
This information is exposed via JSON using the swagger 1.2 specification
The swagger resources can be accessed via https://api.pushpay.com/swagger and do not require cients to be authenticated (publicly accessible).
Swagger can be used for generating API clients, to make accessing the API easier - if we don't have a client available for your platform, it may be worth considering one of the swagger client options including:
Below you will see the "Swagger UI" client which is reading the swagger for the current version of the API and displaying the list of available operations, including models and documentation - and demonstrates how the information in the swagger definition can be used to generate a client. See the Swagger UI Github Site for information on Swagger UI including source code.