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
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.
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 schedule 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/.
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.
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.
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.
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.
Additionally, data at rest encryption is supported for AWS_VPC clusters. Add diskEncryptionKey to the provision cluster request:
Provision New Cluster #2
"diskEncryptionKey":"UUID returned after adding a KMS key",
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.