curl
curl --request GET \
--url https://status.algolia.com/1/infrastructure/%2A/period/week \
--header 'accept: application/json'// Initialize the client
var client = new MonitoringClient(
new MonitoringConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
);
// Call the API
var response = await client.GetMetricsAsync(
Enum.Parse<Metric>("AvgBuildTime"),
Enum.Parse<Period>("Minute")
);
// print the response
Console.WriteLine(response);// Initialize the client
client, err := monitoring.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.GetMetrics(client.NewApiGetMetricsRequest(
monitoring.Metric("avg_build_time"), monitoring.Period("minute")))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)// Initialize the client
MonitoringClient client = new MonitoringClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");
// Call the API
InfrastructureResponse response = client.getMetrics(Metric.AVG_BUILD_TIME, Period.MINUTE);
// print the response
System.out.println(response);// Initialize the client
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initMonitoring();
// Call the API
const response = await client.getMetrics({ metric: 'avg_build_time', period: 'minute' });
// print the response
console.log(response);// Initialize the client
val client = MonitoringClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
var response =
client.getMetrics(
metric = Metric.entries.first { it.value == "avg_build_time" },
period = Period.entries.first { it.value == "minute" },
)
// print the response
println(response)// Initialize the client
$client = MonitoringClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
$response = $client->getMetrics(
'avg_build_time',
'minute',
);
// print the response
var_dump($response);# Initialize the client
# In an asynchronous context, you can use MonitoringClient instead, which exposes the exact same methods.
client = MonitoringClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.get_metrics(
metric="avg_build_time",
period="minute",
)
# print the response
print(response)# Initialize the client
client = Algolia::MonitoringClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.get_metrics("avg_build_time", "minute")
# print the response
puts(response)// Initialize the client
val client = MonitoringClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
val response = Await.result(
client.getMetrics(
metric = Metric.withName("avg_build_time"),
period = Period.withName("minute")
),
Duration(100, "sec")
)
// print the response
println(response)// Initialize the client
let client = try MonitoringClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY")
// Call the API
let response = try await client.getMetrics(metric: Metric.avgBuildTime, period: Period.minute)
// print the response
print(response){
"metrics": {
"cpu_usage": {
"s4-fr": [
{
"t": 1455101280,
"v": 46
},
{
"t": 1455101290,
"v": 46
},
{
"t": 1455101300,
"v": 46
}
],
"c3-use-1": [
{
"t": 1455101280,
"v": 42
},
{
"t": 1455101290,
"v": 42
},
{
"t": 1455101300,
"v": 42
},
{
"t": 1455101310,
"v": 37
}
],
"c3-use-2": [
{
"t": 1455101280,
"v": 56
},
{
"t": 1455101290,
"v": 56
},
{
"t": 1455101300,
"v": 56
},
{
"t": 1455101310,
"v": 56
},
{
"t": 1455101320,
"v": 51
}
]
}
}
}{
"reason": "The infrastructure usage API is only available on Enterprise plans. Please contact enterprise@algolia.com for more detail."
}Infrastructure
Retrieve metrics
Retrieves metrics related to your Algolia infrastructure, aggregated over a selected time window.
GET
/
1
/
infrastructure
/
{metric}
/
period
/
{period}
curl
curl --request GET \
--url https://status.algolia.com/1/infrastructure/%2A/period/week \
--header 'accept: application/json'// Initialize the client
var client = new MonitoringClient(
new MonitoringConfig("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
);
// Call the API
var response = await client.GetMetricsAsync(
Enum.Parse<Metric>("AvgBuildTime"),
Enum.Parse<Period>("Minute")
);
// print the response
Console.WriteLine(response);// Initialize the client
client, err := monitoring.NewClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
if err != nil {
// The client can fail to initialize if you pass an invalid parameter.
panic(err)
}
// Call the API
response, err := client.GetMetrics(client.NewApiGetMetricsRequest(
monitoring.Metric("avg_build_time"), monitoring.Period("minute")))
if err != nil {
// handle the eventual error
panic(err)
}
// print the response
print(response)// Initialize the client
MonitoringClient client = new MonitoringClient("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY");
// Call the API
InfrastructureResponse response = client.getMetrics(Metric.AVG_BUILD_TIME, Period.MINUTE);
// print the response
System.out.println(response);// Initialize the client
const client = algoliasearch('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY').initMonitoring();
// Call the API
const response = await client.getMetrics({ metric: 'avg_build_time', period: 'minute' });
// print the response
console.log(response);// Initialize the client
val client = MonitoringClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
var response =
client.getMetrics(
metric = Metric.entries.first { it.value == "avg_build_time" },
period = Period.entries.first { it.value == "minute" },
)
// print the response
println(response)// Initialize the client
$client = MonitoringClient::create('ALGOLIA_APPLICATION_ID', 'ALGOLIA_API_KEY');
// Call the API
$response = $client->getMetrics(
'avg_build_time',
'minute',
);
// print the response
var_dump($response);# Initialize the client
# In an asynchronous context, you can use MonitoringClient instead, which exposes the exact same methods.
client = MonitoringClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.get_metrics(
metric="avg_build_time",
period="minute",
)
# print the response
print(response)# Initialize the client
client = Algolia::MonitoringClient.create("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")
# Call the API
response = client.get_metrics("avg_build_time", "minute")
# print the response
puts(response)// Initialize the client
val client = MonitoringClient(appId = "ALGOLIA_APPLICATION_ID", apiKey = "ALGOLIA_API_KEY")
// Call the API
val response = Await.result(
client.getMetrics(
metric = Metric.withName("avg_build_time"),
period = Period.withName("minute")
),
Duration(100, "sec")
)
// print the response
println(response)// Initialize the client
let client = try MonitoringClient(appID: "ALGOLIA_APPLICATION_ID", apiKey: "ALGOLIA_API_KEY")
// Call the API
let response = try await client.getMetrics(metric: Metric.avgBuildTime, period: Period.minute)
// print the response
print(response){
"metrics": {
"cpu_usage": {
"s4-fr": [
{
"t": 1455101280,
"v": 46
},
{
"t": 1455101290,
"v": 46
},
{
"t": 1455101300,
"v": 46
}
],
"c3-use-1": [
{
"t": 1455101280,
"v": 42
},
{
"t": 1455101290,
"v": 42
},
{
"t": 1455101300,
"v": 42
},
{
"t": 1455101310,
"v": 37
}
],
"c3-use-2": [
{
"t": 1455101280,
"v": 56
},
{
"t": 1455101290,
"v": 56
},
{
"t": 1455101300,
"v": 56
},
{
"t": 1455101310,
"v": 56
},
{
"t": 1455101320,
"v": 51
}
]
}
}
}{
"reason": "The infrastructure usage API is only available on Enterprise plans. Please contact enterprise@algolia.com for more detail."
}Access to this API is available as part of the Premium or Elevate plans.
You must authenticate requests with the
x-algolia-application-id and x-algolia-api-key headers (using the Monitoring API key).Path Parameters
Metric to report.
For more information about the individual metrics, see the description of the API response.
To include all metrics, use *.
Available options:
avg_build_time, ssd_usage, ram_search_usage, ram_indexing_usage, cpu_usage, * Example:
"*"
Period over which to aggregate the metrics:
minute. Aggregate the last minute. 1 data point per 10 seconds.hour. Aggregate the last hour. 1 data point per minute.day. Aggregate the last day. 1 data point per 10 minutes.week. Aggregate the last week. 1 data point per hour.month. Aggregate the last month. 1 data point per day.
Available options:
minute, hour, day, week, month Example:
"week"
Response
OK
Show child attributes
Show child attributes
Last modified on March 23, 2026
Was this page helpful?
⌘I