A core capability of MBEE is the ability to integrate model data from multiple sources into a single cohesive model and to exchange data between models. This can be achieved through a few different mechanisms, the most noteworthy of which is the MBEE Core Framework's (MCF) RESTful API.
Another way of integrating data with MBEE is through plugins that extend the
core framework. Since the architecture of plugins differ fundamentally from API
based integrations, plugins are given their own section 5.0 Plugins
in this
Flight Manual.
The API provides endpoints for creating, retrieving, updating, replacing, and
deleting objects within MBEE such as users, organizations, projects, branches,
artifacts, webhooks, and model elements. The API is documented using
Swagger inline documentation in the MCF source code.
This documentation is then generated into a viewable format accessible at
the /doc/api
route within MBEE or by clicking on Documentation
in the navigation bar and selecting API Documentation.
The API documentation is broken down into the following sections:
- General
- Organizations
- Projects
- Branches
- Elements
- Artifacts
- Users
- Webhooks
The General section documents API endpoints which are used for interacting with MBEE rather than a specific object type within MBEE. This includes a test route that is useful for determining when the API is up, a route providing version information, and a route for logging into MBEE and retrieving an authentication token.
The remaining sections document the API endpoints used for CRUD (Create, Retrieve, Update, Delete) operations on organizations, projects, branches, elements, artifacts, webhooks and users. Each section documents the available singular and batch endpoints, the expected parameters, and the available options a user can provide.
Since MBEE was designed with integrations in mind, some sample API calls have been provided to demonstrate how to call the API functions, and what to expect in return. Please see tutorials 1-3 in the flight manual for some examples of authentication, organization/project management, and model management through the API.