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-KEYrequest 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.
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:
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.