ClusterNest API
To get started, generate an access token via the POST /auth/token endpoint below. Afterwards include the token as Bearer in the Authorization header of all requests. e.g. Authorization: Bearer <your_access_token>.
To get started, generate an access token via the POST /auth/token endpoint below. Afterwards include the token as Bearer in the Authorization header of all requests. e.g. Authorization: Bearer <your_access_token>.
Integer numbers.
External identity providers (OpenID Connect or SAML) the cluster accepts logins from, alongside the built-in internal user. Secret values are write-only: omit one on update to keep the stored value.
Custom domain to serve the OpenSearch endpoint on, instead of the generated default hostname.
Custom domain to serve OpenSearch Dashboards on, instead of the generated default hostname.
IP addresses or subnets allowed to reach OpenSearch Dashboards
Number of data nodes in the cluster. Only Advanced tier supports more than 3 data nodes upto a maximum of 10.
IP addresses or subnets allowed to reach the OpenSearch API
Weekly recurring window (UTC) during which maintenance may be performed on this cluster. Must be at least 2 hours (120 minutes) long. Leave unset to allow maintenance at any time.
S3 snapshot repository configuration for cluster backups. Leave unset to disable snapshots.
Sizing/pricing tier the cluster runs at.
OpenSearch version to run.
curl /cluster/opensearch/1 \
--request PUT \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"tier": "basic",
"maintenance_window": {
"day_of_week": "monday",
"start_time": "",
"end_time": ""
},
"version": "3.8.0",
"data_node_count": 3,
"ip_allowlist": [
"0.0.0.0/0",
"::/0"
],
"dashboards_ip_allowlist": [
"0.0.0.0/0",
"::/0"
],
"custom_hostname": "",
"dashboards_custom_hostname": "",
"auth_sources": [],
"repo_config": {
"enable_iam_role": true,
"enable_access_keys": false,
"access_key_id": "",
"secret_access_key": ""
}
}'
{
"id": 1,
"organization_id": 1,
"name": "string",
"tier": "basic",
"state": "creating",
"created_at": "2026-10-16T06:47:20.484Z",
"updated_at": "2026-10-16T06:47:20.484Z",
"maintenance_window": {
"day_of_week": "monday",
"start_time": "string",
"end_time": "string"
},
"version": "3.8.0",
"data_node_count": 3,
"ip_allowlist": [
"0.0.0.0/0",
"::/0"
],
"dashboards_ip_allowlist": [
"0.0.0.0/0",
"::/0"
],
"custom_hostname": "string",
"dashboards_custom_hostname": "string",
"url": "string",
"opensearch_dashboards_url": "string",
"auth_sources": [
{
"name": "string",
"ca_cert": "string",
"subject_key": "string",
"roles_key": "string",
"type": "oidc",
"dashboards_login": false,
"connect_url": "string",
"client_id": "string",
"audience": "string",
"client_secret_set": false,
"scope": "openid profile email",
"logout_url": "string"
}
],
"repo_config": {
"enable_iam_role": true,
"aws_role_arn": "string",
"enable_access_keys": false,
"access_key_id": "string",
"secret_access_key_set": false
}
}