MinistryPlatform implements a series of industry standards to make Application Development as easy as possible.
OAuth 2.0 + REST api + Swagger
Open Authorization (OAuth for short) is an industry standard for token-based authorization on the internet. MinistryPlatform supports several OAuth 2.0 workflows and also serves as a Security Token Service (STS) provider. This is the framework that allows access to the platform or api via credentials.
MinistryPlatform is also a client and can support other token providers such as Facebook or Google.
Representational State Transfer (REST for short) is an architectural style that defines a set of constraints to be used for creating web services emphasizing interoperability between computer systems on the internet. It uses textual representations of web resources and a uniform and predefined set of stateless operations to achieve this interoperability.
MinistryPlatform supports a full-featured REST api for CRUD operations as well as exposure of other resources and features. This api closely mirrors the structure of data in the platform for ease of development. Much of your knowledge of Pages, Views, and Advanced Search will directly apply in the REST api.
See Also: Extending the Platform
Swagger is an open source software framework backed by a large ecosystem of tools that helps developers design, build, document, and consume RESTful Web services built on the OpenAPI Specification. The Swagger UI framework allows both developers and non-developers to interact directly with live data using a UI that gives insight into how the API responds to parameters and options.
MinistryPlatform exposes a built-in Swagger interface for interacting with the REST api.
Think Ministry supports an API Wrapper for development in the dotnet ecosystem. The wrapper uses the Client Credentials workflow, hiding all of the OAuth details and provides methods for easily interacting with the data by abstracting the REST api.
The following resources have been created by members of our community.
The following Platform Extension resources will help you get the most out of your development efforts: