The generated API clients are a work in progress, you can also find our stable clients on the Algolia documentation.

Skip to main content

Algolia Monitoring API (1.0.0)

Download OpenAPI specification:Download

The Monitoring API lets you check the status of your Algolia infrastructure.

Base URLs

The base URL for requests to the Monitoring API is:

  • https://status.algolia.com

All requests must use HTTPS.

Availability and authentication

Access to the Infrastructure endpoints is available as part of the Premium or Elevate plans.

To authenticate requests to the Infrastructure endpoints, add these headers:

  • x-algolia-application-id. Your Algolia application ID.
  • x-algolia-api-key. Your Monitoring API key.

You can find your application ID and API key in the Algolia dashboard.

Other endpoints don't require authentication.

Response status and errors

The Monitoring API returns JSON responses. Since JSON doesn't guarantee any specific ordering, don't rely on the order of attributes in the API response.

Successful responses return a 2xx status. Client errors return a 4xx status. Server errors are indicated by a 5xx status. Error responses have a message property with more information.

Version

The current version of the Monitoring API is version 1, as indicated by the /1/ in each endpoint's URL.

Status

Report the status of Algolia clusters.

Retrieve status of all clusters

Retrieves the status of all Algolia clusters and instances.

Responses

Request samples

// Initialize the client
var client = new MonitoringClient(new MonitoringConfig("YOUR_APP_ID", "YOUR_API_KEY"));

// Call the API
var response = await client.GetStatusAsync();

Response samples

Content type
application/json
{
  • "status": {
    }
}

Retrieve cluster status

Retrieves the status of selected clusters.

path Parameters
clusters
required
string
Example: c1-de,c2-de,c3-de

Subset of clusters, separated by comma.

Responses

Request samples

// Initialize the client
var client = new MonitoringClient(new MonitoringConfig("YOUR_APP_ID", "YOUR_API_KEY"));

// Call the API
var response = await client.GetClusterStatusAsync("c1-de");

Response samples

Content type
application/json
{
  • "status": {
    }
}

Incidents

List the known incidents.

Retrieve all incidents

Retrieves known incidents for all clusters.

Responses

Request samples

// Initialize the client
var client = new MonitoringClient(new MonitoringConfig("YOUR_APP_ID", "YOUR_API_KEY"));

// Call the API
var response = await client.GetIncidentsAsync();

Response samples

Content type
application/json
{
  • "incidents": {
    }
}

Retrieve cluster incidents

Retrieves known incidents for the selected clusters.

path Parameters
clusters
required
string
Example: c1-de,c2-de,c3-de

Subset of clusters, separated by comma.

Responses

Request samples

// Initialize the client
var client = new MonitoringClient(new MonitoringConfig("YOUR_APP_ID", "YOUR_API_KEY"));

// Call the API
var response = await client.GetClusterIncidentsAsync("c1-de");

Response samples

Content type
application/json
{
  • "incidents": {
    }
}

Infrastructure

Return information about the Algolia infrastructure used by your application.

Retrieve metrics

Retrieves metrics related to your Algolia infrastructure, aggregated over a selected time window.

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
required
string
Enum: "*" "avg_build_time" "cpu_usage" "ram_indexing_usage" "ram_search_usage" "ssd_usage"
Example: *

Metric to report.

For more information about the individual metrics, see the description of the API response. To include all metrics, use *.

period
required
string
Enum: "day" "hour" "minute" "month" "week"
Example: week

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.

Responses

Request samples

// Initialize the client
var client = new MonitoringClient(new MonitoringConfig("YOUR_APP_ID", "YOUR_API_KEY"));

// Call the API
var response = await client.GetMetricsAsync(
  Enum.Parse<Metric>("AvgBuildTime"),
  Enum.Parse<Period>("Minute")
);

Response samples

Content type
application/json
{
  • "metrics": {
    }
}

Monitoring

Report search and indexing times for your clusters, and get a list of servers.

Retrieve servers

Retrieves the servers that belong to clusters.

The response depends on whether you authenticate your API request:

  • With authentication, the response lists the servers assigned to your Algolia application's cluster.

  • Without authentication, the response lists the servers for all Algolia clusters.

Responses

Request samples

// Initialize the client
var client = new MonitoringClient(new MonitoringConfig("YOUR_APP_ID", "YOUR_API_KEY"));

// Call the API
var response = await client.GetServersAsync();

Response samples

Content type
application/json
{
  • "inventory": [
    ]
}

Retrieve search latency times

Retrieves the average latency for search requests for selected clusters.

path Parameters
clusters
required
string
Example: c1-de,c2-de,c3-de

Subset of clusters, separated by comma.

Responses

Request samples

// Initialize the client
var client = new MonitoringClient(new MonitoringConfig("YOUR_APP_ID", "YOUR_API_KEY"));

// Call the API
var response = await client.GetLatencyAsync("c1-de");

Response samples

Content type
application/json
{
  • "metrics": {
    }
}

Retrieve indexing times

Retrieves average times for indexing operations for selected clusters.

path Parameters
clusters
required
string
Example: c1-de,c2-de,c3-de

Subset of clusters, separated by comma.

Responses

Request samples

// Initialize the client
var client = new MonitoringClient(new MonitoringConfig("YOUR_APP_ID", "YOUR_API_KEY"));

// Call the API
var response = await client.GetIndexingTimeAsync("c1-de");

Response samples

Content type
application/json
{
  • "metrics": {
    }
}

Test the reachability of clusters

Test whether clusters are reachable or not.

path Parameters
clusters
required
string
Example: c1-de,c2-de,c3-de

Subset of clusters, separated by comma.

Responses

Request samples

// Initialize the client
var client = new MonitoringClient(new MonitoringConfig("YOUR_APP_ID", "YOUR_API_KEY"));

// Call the API
var response = await client.GetReachabilityAsync("c1-de");

Response samples

Content type
application/json
{
  • "c16-de": {
    }
}