Overview
The Fabric Services System includes an HTTP REST API to support software integration. By using the REST API, you can write your own software that can configure any feature of the Fabric Services System.
Detailed information about all of the individual API calls is available in the OpenAPI (v2) format, also referred to as Swagger documentation. You can download Swagger YAML files from your Fabric Services System deployment, from the same location as the Reference API documentation.
You can then use these files within your own tools that can work with the standard OpenAPI specifications.
Reference documentation
Within the Fabric Services System GUI you can find detailed API documentation for each of the services that exposes an API.
https://fss.domain.tld/apidocs
where
fss.domain.tld
is your local installation FQDN The API GUI contains a list of the services on the left. Click on any of those services to display the Swagger (or OpenAPI) documentation.
Click the expand icon for an individual API call to see details for that call, including usage, parameter details, and a tool for issuing a sample call.
The download button allows you to download the Swagger YAML file for the selected service. You can use this file with any tools that are compatible with the OpenAPI standard. The Fabric Services System uses the OpenAPI v2 specifications format.
In addition to the reference API documentation, the same page in the Fabric Services System UI also provides a list of all the services deployed in the Fabric Services System application and the versions of each of these services. You can access this information by clicking SYSTEM VERSIONS.
Downloading the full OpenAPI definitions
- YAML: https://fss.domain.tld/rest/about/swagger.yaml
- JSON: https://fss.domain.tld/rest/about/swagger.json
URL endpoints
https://fss.domain.tld/rest/<service>/api/<version>
where <version>
stands for the major release number of the API (such
as 1)
POST
https://fss.domain.tld/rest/intentmgr/api/v1/queueItems/384258893435371520/deploy
Supported REST API versions
You can determine which versions of an API call are available for a specific deployment
of the Fabric Services System by performing an unauthenticated HTTP GET request to the
https://fss.domain.tld/rest/about/version
URI:
# curl -s https://fss.domain.tld/rest/about/version | jq
{
"fss": {
"gitCommit": "v22.4.1-1462"
},
"fss-alarmmgr": {
"gitCommit": "v22.4.1-1462-gca271333",
"builtDate": "2022-03-23T05:24:14+00:00",
"gitBranch": "22_4_1",
"appName": "fss-alarmmgr",
"apiVersions": [
{
"version": "v1",
"status": "CURRENT",
"baseURL": "fss.domain.tld/rest",
"swaggerDoc": "fss.domain.tld/rest/alarmmgr/v1/docs/swagger.yaml"
}
]
},
"fss-auth": {
"gitCommit": "v22.4.1-1462-gca271333",
"builtDate": "2022-03-23T05:15:55+00:00",
"gitBranch": "22_4_1",
"appName": "fss-auth",
"apiVersions": [
{
"version": "v1",
"status": "CURRENT",
"baseURL": "fss.domain.tld/rest",
"swaggerDoc": "fss.domain.tld/rest/auth/v1/docs/swagger.yaml"
}
]
},
...
All services and components of the Fabric Services System display in the resulting list.
Only those that have an apiVersions
attribute actually provide an API
service.
API version strategy and backward compatibility
The Fabric Services System is composed of multiple individual applications or services. Each of these services has its own API with its own API version. While most of the services use the same latest API version, it is important to keep track of API version changes.
For each service, at least two versions are always available unless a service is using version 1 for its API. The older version is available for customers upgrading from an older version to ensure that their scripts, tools, and integrations can continue functioning on the old API after the upgrade and before they are updated to the new API.
As soon as a new API version is introduced for that service, all new functionality for the service is available only on the new API version. The older API version can only be used for the older functionality.
Using the UI to inspect API calls
The Fabric Services System UI is a graphical layer that uses the API directly. You can use it to better understand the workflow and API calls that are getting executed when taking specific actions in the UI.
You can use the Web Developer tools, specifically the Network tab of the tools, to see each individual API call that is executed. You can inspect the request and response data, including the headers for each API call.