Health API
When to choose Health API
Choose Health API when your monitoring system needs to check whether EZITXT APIs are available before sending production traffic; use product-specific APIs when you need to send messages or retrieve message records.
Overview
Connect to EZITXT Health API to monitor in a near real-time fashion whether our individual APIs are available and healthy to take requests.
We poll the health of each of these services every minute, from an external geographically distributed provider, independent of our own infrastructure. Status information is cached, we will retrieve status information once per minute.
What the API can do
- Return service health information for selected EZITXT APIs
- Query one or more services in a single request
- Provide near real-time status based on checks performed every 60 seconds
- Support unauthenticated monitoring from external systems
How it works
In practice, the API follows a simple workflow:
- Choose the service names you want to monitor.
- Submit a GET request to
/rest/services/v1/statuswith one or moreservicequery parameters. - Read the returned health status for each requested service.
- Poll no more frequently than the one-minute status refresh interval.
When to use Health API
Use Health API when your integration needs operational visibility into whether an API is available and healthy to take requests. It is useful for uptime checks, alerting, failover decisions, and operational dashboards.
This API does not send messages and does not replace delivery receipts or message reporting from the individual messaging APIs.
Before you start
Before making your first request, confirm the following:
- You know which service names your monitoring system should query.
- Your monitoring interval accounts for the one-minute cache period.
- Your application handles
unknownfor unsupported or incorrectly cased service names.
First successful request path
For most implementations, the fastest way to validate connectivity and configuration is:
- Submit a GET request with two known services, for example
restandsmpp. - Confirm the response includes a health result for each requested service.
- Add the services your integration depends on.
- Connect the response handling to your monitoring or alerting workflow.
Authentication
No authentication is required to utilise this service.
OpenAPI Specification
Checking Service Health
You must elect which service(s) you wish to receive health information about, eg:
GET /rest/services/v1/status?service=rest&service=smpp
Get Service Status Example
These examples retrieve health information for the rest and smpp services.
curl "https://{apiDomainName}/rest/services/v1/status?service=rest&service=smpp"
const params = new URLSearchParams();
params.append("service", "rest");
params.append("service", "smpp");
const response = await fetch(`https://{apiDomainName}/rest/services/v1/status?${params}`);
const status = await response.json();import requests
response = requests.get(
"https://{apiDomainName}/rest/services/v1/status",
params=[
("service", "rest"),
("service", "smpp"),
],
)
status = response.json()<?php
$query = "service=rest&service=smpp";
$ch = curl_init("https://{apiDomainName}/rest/services/v1/status?" . $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
?>
require "json"
require "net/http"
require "uri"
uri = URI("https://{apiDomainName}/rest/services/v1/status")
uri.query = URI.encode_www_form([
["service", "rest"],
["service", "smpp"]
])
response = Net::HTTP.get_response(uri)
status = JSON.parse(response.body)import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://{apiDomainName}/rest/services/v1/status?service=rest&service=smpp"))
.GET()
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());using var client = new HttpClient();
var response = await client.GetAsync("https://{apiDomainName}/rest/services/v1/status?service=rest&service=smpp");
var responseBody = await response.Content.ReadAsStringAsync();The full list of services which can be queried includes:
-
email2sms
-
https
-
rest
-
restv2
-
smpp
-
soap
- eziapi
Values are case sensitive, providing a service outside of this list will always provide an “unknown” status.