Self-Service API
Overview
The terms used by the API and their relations are as follows:
- The service instance of an Event Exposure service is a Kafka topic.
- Maximum one instance per tenant is supported.
- An instance can be accessed by multiple users
- One user holds one certificate
Certificate Lifecycle Workflow
The workflow for managing certificates is as follows:
- Obtain an authorization token (see the Auth documentation for more details). This needs to be provided in the header of all the following requests.
- Check if your tenant is onboarded:
GET /tenants/{{tenant}}/instances - Onboard the service for your tenant if not done already:
POST /tenants/{{tenant}}/instances - Create a new user (certificate):
POST /tenants/{{tenant}}/instances/{{instance-id}}/users - List all existing users (certificates):
GET /tenants/{{tenant}}/instances/{{instance-id}}/users - Get certificate for a user:
GET /tenants/{{tenant}}/instances/{{instance-id}}/users/{{user-id}} - Delete a user certificate:
DELETE /tenants/{{tenant}}/instances/{{instance-id}}/users/{{user-id}}
Rest API
Endpoints
The Self-Service API of Event Exposure Services are exposed under the following endpoints:
- Health Exposure:
https://hes-api.prd.msg.entcloud.swisscom.com/api/v1 - Log Exposure:
https://les-api.prd.msg.entcloud.swisscom.com/api/v1
The paths described in the API definition must be appended to these endpoint paths.
API Definition
The detailed description of the Self-Service API is available under the following endpoints:
- Health Exposure:
https://hes-api.prd.msg.entcloud.swisscom.com/swagger/index.html#/customer - Log Exposure:
https://les-api.prd.msg.entcloud.swisscom.com/swagger/index.html#/customer
Common Parameters
In the API definition the following parameters are repeatedly used in requests and/or in responses, and hence described here for simplicity:
| Value | Type | Description |
|---|---|---|
| businessGroupId / spaceID | string | The UUID of the business group / space associated with the service instance |
| businessGroupName / spaceName | string | The name of the business group / space associated with the service instance |
| id | string | The UUID of the service instance / user |
| name | string | The name of the service instance / user |
| status | string | The status of the service instance / user. One of: IN PROGRESS, READY |
| consumerGroup | string | The Kafka consumer group the user is part of |
| createdBy | string | The creator of the user |
| creationDate | string | The creation date of the user |
| expirationDate | string | The expiration date of the user's certificate |
| contact.email | string | The email address used for the user's certificate expiry notifications |
| description | string | The description of the user (free text) |
| csr | string | The Base64-encoded certificate signing request used to generate the user's certificate |
| certificate | string | The certificate of the user |
