Provisioning API

The main provisioning API documentation is at https://instaclustr.redoc.ly/

The provisioning API allows most provisioning actions available on the console (GUI) to be carried out via a REST API (eg create, view, and delete clusters).

This is most commonly used as part of an automated testing process where you want to provision a complete environment from scratch.

Table of Contents

Pricing

Clusters created via the provisioning API are charged at our standard on-demand rates listed on the Pricing page in our console.

Free trial clusters can be created under the same terms as clusters created via the GUI console.

Availability

Our APIs are engineered and operated for high levels of availability. However, you should not expect that our APIs have the same level of availability as a managed cluster and you should not build any dependency on the APIs into availability of your service. While we do not provide formal SLAs for the APIs, we aim for 99.95% availability (ie up to ~20 mins downtime per month). Longer maintenance outages may be scheduled with appropriate notice. Consequently, any service dependent on the APIs should be able to cope gracefully with periods of unavailability of up to a few minutes. Planned and unplanned outages are communicated via https://status.instaclustr.com/.

Authentication

All requests to the API must use Basic Authentication and contain a valid username and either a provisioning API key or a read-only provisioning API Key.

The provisioning API key has full access to all the endpoints while the read-only provisioning key can only perform GET requests to endpoints.

The API keys are created per user, per account.

Creating your API keys

API keys can be created from the secure page in the console by going to Account Settings > API Keys. Please note that for your security the key will only be shown once on creation.

Management of the API keys is available by pressing the 'cog' settings button, then from the dropdown menu, the Account Settings button, then the API Keys tab

For more information on API Keys, please visit our API Keys documentation page.

Request Rate

Note that requests to the provisioning API are rate limited. Individual IPs may only make 1 request per 2.5 seconds. Exceeding this rate will return a 429 error code until that IP’s request threshold falls below this limit.

Create Cluster

The following endpoint has extended functionality with support for more of the Instaclustr Managed Service offerings.

Instaclustr continues to support the legacy provisioning api (below).

 

Clusters can be provisioned with or without PCI compliance and can be done through either the console or API. In either situation, for a cluster to be compliant, the PCI compliant account settings must be enabled in the security tab in your account. In order to provision a cluster via the console, you can head over to the Cassandra or Kafka page to do so. Otherwise, continue on with this page.

To provision a new cluster make a POST request to https://api.instaclustr.com/provisioning/v1/extended/ with the JSON body:

NOTE: For PCI compliance, You must have AWS_VPC as a provider and the “pciCompliantCluster” field set to true. A PCI compliant cluster is not compatible with Apache Spark or Apache Zeppelin, see here for more details on compliant add-ons.

In order to connect to your cluster, you will need to specify a firewall rule by replacing the “xx.xx.xx.xx/xx” network value with your IP address or subnet mask. You can find your IP address here if need be.

Example: Apache Cassandra

Non-PCI Compliant

Create Cluster (Legacy)

To provision a new cluster make a POST request to https://api.instaclustr.com/provisioning/v1/ with the JSON body:

Additionally, data at rest encryption is supported for AWS_VPC clusters. Add diskEncryptionKey to the provision cluster request:

Note: Refer our support article on encryption keys API to retrieve the ‘diskEncryptionKey’ UUID.

If the JSON is valid (see allowed values below), the API will respond with 202 Accepted and a JSON containing the cluster id.

Depending on the underlying infrastructure provider, it can take up to 10 minutes for the cluster to reach a usable state. You can check the status of provisioning using the cluster status endpoint, or via the console.

VPC Peering must be set up after the cluster is created.

By Instaclustr Support
Need Support?
Experiencing difficulties on the website or console?
Already have an account?
Need help with your cluster?
Contact Support
Why sign up?
To experience the ease of creating and managing clusters via the Instaclustr Console
Spin up a cluster in minutes