Instaclustr has two REST APIs that are available for our customers:
- A monitoring API that provides programmatic access to the same Cassandra monitoring information that is available through our management console;
- A provisioning API that enables provision and destruction of clusters and associated objects (e.g. firewall rules, VPC connections)
Both APIs use an API key that is unique per user and account. All users are automatically provisioned a monitoring API key when then sign up but, being extra cautious about security, provisioning API keys are not created unless explicitly requested through our console. The permissions associated with an API key align with the permissions available to the owning user. You can manage API keys under the Account/API Keys tab in our console.
Both APIs have been available for several months and are in active use by multiple customers. Since release, we have been adding features to the API to bring them to parity with the functionality available through our console UI and it’s our intention to make new features available concurrently through the API and UI from here on in.
Our monitoring API is typically used by our customers to integrate Instaclustr monitoring with the monitoring system used for their overall applications. The specifications for the API are available here: https://support.instaclustr.com/hc/en-us/articles/209695488-Monitoring-API. We found DataDog is a pretty popular system with our customers so we’ve provided a sample for how to integrate with DataDog here:
Our provisioning API is typically used by customers as part of an automated test suite that create an entire test environment from scratch and destroys it when complete. You can find the document for this API here: Provisioning API Article.
The operations supported by the API are:
- Create cluster
- Cluster status
- Delete cluster
- List clusters
- Create firewall rule
- Delete firewall rule
- List VPC peering connections
- List VPC peering connection detail
- Create VPC peering request
- Delete VPC peering request
- List EBS encryption keys
- Add EBS encryption key
- Delete EBS encryption key
We think these APIs are a pretty useful feature of our services and definitely plan to keep expanding the functionality available alongside other features of the service. If you have any ideas for extra features you’d like to see in our APIs then drop me a note at firstname.lastname@example.org.