Skip to content

API

All components of the Service Lifecycle Management have a REST API. More details about the individual APIs are described below.

Authentication

Protected API endpoints require authentication. Depending on the endpoint and component security configuration, one of the following authentication methods can be used:

  • Bearer token via Keycloak
  • API key via the X-API-KEY request header

Authentication via bearer token (Keycloak)

To get an access token from Keycloak, the request below can be used. It will return a JSON containing a field access_token. This token can then be used for authenticated requests against the component APIs.

sh
curl --request POST \
  --url http://<<your-slm-host>>:7080/auth/realms/fabos/protocol/openid-connect/token \
  --header 'Content-Type: application/x-www-form-urlencoded' \
  --data client_id=ui \
  --data grant_type=password \
  --data username=<<your-username>> \
  --data password=<<your-password>>

Authentication via API key

Some endpoints can also be called using API key authentication. In this case, the API key must be sent in the X-API-KEY request header.

This is especially useful for:

  • automation scripts
  • bootstrapping scenarios
  • service-to-service communication without interactive user login

Example:

sh
curl --request GET \
  --url https://<<your-slm-host>>/platform-management/users/example-user \
  --header 'X-API-KEY: <<your-api-key>>'

Whether API key authentication is supported depends on the respective endpoint and component security configuration.

External Components

AWX

Version: 22.7.0
URL: http://<<your-slm-host>>:8013/api/v2
AWX is one of the open source upstream projects for Red Hat Ansible Automation Platform. The commercial variant of RedHat is Ansible Tower. Therefore, information on how to use the AWX REST API can be found in the Ansible Tower API Guide.

BaSyx Discovery

Version: 2.0.0-milestone-07
URL: http://<<your-slm-host>>:8084/aas/discovery

BaSyx Shell Registry

Version: 2.0.0-milestone-07
URL: http://<<your-slm-host>>:8082/aas/shell-registry

BaSyx Submodel Registry

Version: 2.0.0-milestone-07
URL: http://<<your-slm-host>>:8083/aas/submodel-registry

BaSyx Environment

Version: 2.0.0-milestone-07
URL http://<<your-slm-host>>:8081/aas/environment

BaSyx AAS GUI

Version: v2-251001
URL: http://<<your-slm-host>>/aas/ui.

Consul

Version: 1.22.3
URL: http://<<your-slm-host>>:8500/v1
Further information on how to use des Consul REST API can be found in the API docs of Consul.

Keycloak

Version: 26.4.0
URL https://<<your-slm-host>>:443/auth
For configuration Keycloak has a Admin REST API, which is described here.

MinIO

Version: RELEASE.2023-12-20T01-00-02Z
URL https://<<your-slm-host>>:9091 \

Prometheus

Version: v2.43.0
URL https://<<your-slm-host>>:9090 \

RabbitMQ

Version: 4.0.5-management-alpine
URL https://<<your-slm-host>>:15672 \

Traefik

Version: v3.3.4
URL https://<<your-slm-host>>:7071

Vault

Version: 1.21.2
The REST API of Vault is reachable under the following URL http://<<your-slm-host>>:8200/v1. Further information on how to use des Consul REST API can be found in the API docs of Vault.

SLM Components

Catalog Service

URL: http://<<your-slm-host>>:10000/catalog-service

Platform Management

URL: http://<<your-slm-host>>//platform-management.
API documentation is available via Swagger https://<<your-slm-host>>//platform-management/swagger-ui/index.html. When requests are made via the Swagger UI, an Authorization is required via the "Authorize" button. If spring_oauth is used, it will redirect to the Keycloak login page.

Notification Service

URL: https://<<your-slm-host>>//notification-service
API documentation is available via Swagger https://<<your-slm-host>>//notification-service/swagger-ui/index.html. When requests are made via the Swagger UI, an Authorization is required via the "Authorize" button. If spring_oauth is used, it will redirect to the Keycloak login page.

Resource Management

URL: https://<<your-slm-host>>//resource-management
API documentation is available via Swagger https://<<your-slm-host>>//resource-management/swagger-ui/index.html. When requests are made via the Swagger UI, an Authorization is required via the "Authorize" button. If spring_oauth is used, it will redirect to the Keycloak login page.

Service Management

URL: https://<<your-slm-host>>//service-management
API documentation is available via Swagger https://<<your-slm-host>>//service-management/swagger-ui/index.html. When requests are made via the Swagger UI, an Authorization is required via the "Authorize" button. If spring_oauth is used, it will redirect to the Keycloak login page.

Information Service

URL: https://<<your-slm-host>>/information-service
API documentation is available via Swagger https://<<your-slm-host>>//information-service/swagger-ui/index.html. When requests are made via the Swagger UI, an Authorization is required via the "Authorize" button. If spring_oauth is used, it will redirect to the Keycloak login page.