Syndeia is a digital thread platform for enabling model-based engineering (MBE/MBSE) of complex systems. It provides services to author, query, visualize, and curate open digital threads. Though all of Syndeia's functionality is accessible via its user interface - Syndeia Cloud Web Dashboard and Syndeia local client Dashboards (SysML tool plugins and Syndeia Standalone) - there is a key ingredient, the Syndeia Cloud REST/HTTP API which we will refer to as Syndeia API here.
This is the first post in our new blog series, where we will share the capabilities of the Syndeia Cloud REST/HTTP API and the powerful use cases it enables for an Open Digital Thread.
Note: If you are new to Syndeia and the concept of a Digital Thread, we recommend reading the following posts and viewing the short videos linked in the posts.
First, let's answer this basic question. API stands for “Application Programming Interface". Just like a hardware device has ports to communicate with the other devices, such as power and USB ports on your computer, a software system/tool provides an API for other software systems to communicate with it. Most modern software systems provide an API in addition to the Graphical User Interface (GUI) for humans (and yeah, robots) to interact with it. An API makes it possible to automate tasks with a software system.
The Digital Thread for a system serves as the data blueprint for that system throughout its lifecycle. A Digital Thread can be conceptualized as a graph whose nodes are elements in various enterprise repositories, tools, and version control systems, and whose edges are intra-model relations within each tool and inter-model relations across tools.
An API for the Digital Thread makes it possible to automate the following use cases for digital engineering:
Syndeia Cloud provides a REST/HTTP API to enable Digital Thread automation use cases listed above. Syndeia Cloud is an API-first platform built with scalable microservices. Since the inception of Syndeia Cloud with the Syndeia 3.2 release in 2018, the API has been a focal point of the Syndeia platform. We at Intercax took a decision that any feature designed for Syndeia Cloud will start with the API user experience, and that the API will be the primary way to access the feature, both for our own tools and those of our users. The Syndeia Web Dashboard and the Syndeia local clients, e.g. plugins for SysML modeling tools and Standalone, use the same API to interact with Syndeia Cloud as our users.
Users can learn about and access the Syndeia API in the following ways.
Syndeia Cloud installation comes with a detailed documentation of the API data model, diving into the core concepts, attributes, and relationships. The documentation is available directly from the Syndeia Cloud Web Dashboard’s Help menu, as shown below.
Syndeia Cloud API is published as an OpenAPI 3.0 specification. Users can access the Swagger doc from the Syndeia Cloud Web Dashboard’s Help menu and try out the endpoints directly from the Swagger doc. This includes endpoints to access the Digital Thread data that is stored and managed by Syndeia, and the endpoints to access integration services, such as to Jira, Jama, Windchill, and other tools using a simple, intuitive, and graph-centric Syndeia data model.
You can it from any REST/HTTP client, such as Postman, Curl, Paw, and others.
We generate Syndeia Cloud API clients in different programming languages, such as Python, Scala, Java, and others. For the Python client, a conda package is available to use Syndeia API in Jupyter notebooks.
Jupyter notebooks serve an interactive computing environment for engineering teams. The Syndeia API Python client is an SDK that provides a natural and intuitive way to consume the API in Jupyter notebooks. Users can make API calls to different engineering tools using Syndeia and use other Python visualization libraries to plot charts and generate reports. The example below shows a stacked bar chart that illustrates the number of Jira issues in To Do vs In Progress state assigned to two different users.
The next set of posts in this series will use Jupyter notebooks as the primary means for demonstrating the Syndeia API and will focus on the following topics.
Additional posts are in development and the content list will be revised on a regular basis.
The online documentation is an excellent resource for users evaluating and using Syndeia Cloud to get started. The recently launched Training Program includes a live, 2-hour course on the Syndeia Cloud API. The training program will be offered on a regular basis. The first instance of the Syndeia Cloud API course will be held on Wed, Nov 17. Contact us at info@intercax.com to learn more.