Hybrid Services

Download OpenAPI specification:Download

hybrid-admin_0

REST API to manipulate site configuration of the hybrid system. List, drain, commission and decommission hosts.

Hybrid Admin API Endpoints

Base url: https://api.prod-eu-north-1.iotcomms.io/hybridadmin

/site/{domain}/{siteId}/host/{hostId}/drain

PUT

To drain a host on a specific site from ongoing calls.

Authorizations:
jwtAuthorizer
path Parameters
siteId
required
string

The site to which the host to drain belongs to.

hostId
required
string

The hostname to drain.

domain
required
string

The domain for which to drain a host.

Request Body schema: application/json
required

The body is needed when draining a host and the services running on the host should not be rescheduled on another host. Typically when doing a quick maintenance operation..

doNotReschedule
string

Specify this with the string value true if a the system should not reschedule any services running on the host. Typically used when the host is to be drained before a quick maintenance operation afther whcih the host willbe rebooted and back into service. In this case it is no point in moving services to new hosts.

Responses

Request samples

Content type
application/json
{
  • "doNotReschedule": "string"
}

Response samples

Content type
application/json
{
  • "reason": "string",
  • "success": true,
  • "error": "string"
}

/site/{domain}/{siteId}/host/{hostId}/drain

OPTIONS
path Parameters
siteId
required
string
hostId
required
string
domain
required
string

Responses

Response samples

Content type
application/json
{ }

/site/{domain}

GET

Get a list of hosts for all sites of a domain.

Authorizations:
jwtAuthorizer
path Parameters
domain
required
string

The domain for which to get the statement.

Responses

Response samples

Content type
application/json
{
  • "reason": "string",
  • "data": {
    },
  • "success": true,
  • "error": "string"
}

/site/{domain}

OPTIONS
path Parameters
domain
required
string

Responses

Response samples

Content type
application/json
{ }

/site/{domain}/{siteId}/host/{hostId}

POST

To commission a new host to a site.

Authorizations:
jwtAuthorizer
path Parameters
siteId
required
string

The siteId of the host to add.

hostId
required
string

The hostId of the host to add.

domain
required
string

The domain for which this site belongs where a host shall be added.

Request Body schema: application/json
required

The body is needed when adding a host that is not using DHCP. I.e. to specify IP-addresses to be used for the interface of the host.

networkInterfaces
Array of strings

Array of IP addresses. This should be used together with networkPrefixLength.

networkPrefixLength
integer

The network prefix length in bits. This should only be used together with networkInterfaces.

Responses

Request samples

Content type
application/json
{
  • "networkInterfaces": [
    ],
  • "networkPrefixLength": 0
}

Response samples

Content type
application/json
{
  • "reason": "string",
  • "success": true,
  • "error": "string"
}

/site/{domain}/{siteId}/host/{hostId}

DELETE

To decommission a host from a site.

Authorizations:
jwtAuthorizer
path Parameters
siteId
required
string

The siteId of the host to delete.

hostId
required
string

The hostId of the host to delete.

domain
required
string

The domain for which to get the statement.

Responses

Response samples

Content type
application/json
{
  • "reason": "string",
  • "success": true,
  • "error": "string"
}

/site/{domain}/{siteId}/host/{hostId}

OPTIONS
path Parameters
siteId
required
string
hostId
required
string
domain
required
string

Responses

Response samples

Content type
application/json
{ }

Hybrid Admin API Service Alarms

/<domain_configured>

POST

You have not configured a domain for your service alarm notifications! You can do so here.

The configured domain for your notifications were retrieved from your settings. You can view and modify these settings here.

Request Body schema: application/json

Notifications sent by the Hybrid system probes to indicate unexpected events. The path, domain_configured, is configured using the provisioning API using the Notification Settings endpoint, parameter alarmEventsRestEndpoint.

type
string
Value: "monitoringAlarm"

The type of alarm event. Only type used is monitoringAlarm.

domain
string

The domain that triggered the alarm event

error
string
Enum: "noHeartbeatReply" "serviceStartFailed" "lowMemory" "serviceFailure"

The type of error that triggered the alarm event:

  • noHeartbeatReply - A service instance (container) that is monitored did not respond to heartbeat requests which indicates a service failure. The container is temporarlily taken out of service until subsequent heartbeat requests get a response.
  • serviceStartFailed - This alarm is raised if a service failed to start. A new service instance will be launched.
  • lowMemory - The service experienced low memory and if the error level threshold has been exceeded the service will be restarted.
  • serviceFailure - The service experienced a failure and will be restarted.
object

Object with error specific details

message
string

A human readable description of what error occured.

value
number

The value of the metric that caused the alarm.

threshold
number

The threshold that has been exceeded.

condition
string

Specifies of the alarm was caused by the metric value to be higher than the threshold or lower than the threshold.

status
string
Enum: "Set" "Clear"

Events are sent when an alarm is set and when an alarm is cleared.

service
string
Enum: "ivrservice" "sipserver" "siprec" "rtpengine"

Specifies which service that caused the alarm event to be triggered.

severity
string
Enum: "warn" "error"

Specifies the severity level of the alarm generated. An error level alarm implies that automatic actions also has been taken trying to remedy the problem.

siteId
string

Specify the site that was sending the alarm.

siteBaseUrl
string

Spcifies the url for this site. Used to identify the site that sends the alarm.

Responses

Request samples

Content type
application/json
{
  • "type": "monitoringAlarm",
  • "domain": "customer.prod-eu-north-1.iotcomms.io",
  • "error": "noHeartbeatReply",
  • "errorDetails": {
    }
}