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-260505
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.