« Back to Blog
BLOG POST

Using the ObjectRocket API for Elasticsearch

Evan Freed

Have you every spent time dreaming of a fully automated Elasticsearch environment? If so, stay tuned as this post will walk you through some of ObjectRocket’s basic API features for our Elasticsearch product. Using the ObjectRocet API will allow you to create instances, users, acls, and more on demand.

Getting Started

All authentication to our API occurs using HTTP basic authentication. To do so, you’ll need to authenticate with the SJC API server (no matter what zone you’re in) to receive a token before you can perform any API functions. To get a token, you’ll need to provide a username and password. This will be the same credentials used when logging into the ObjectRocket Login Page. It’s worth mentioning, any RESTful client can be used to perform these requests. However, for our examples we’ll show the syntax using the curl utility:

curl -XGET 'https://sjc-api.objectrocket.com/v2/tokens/' --user 'my_login@objectrocket.com'

After supplying your password, if successful, you’ll receive a payload that looks like the following:

# Payload
{
  "data": {
    "token": "THISISATOKENImI4Nc1ODVmYjRiMjRiZDczYTJhOTk1ZDc0ZmVjIAvCvVFP5rhdGetXDHETY",
    "login": "my_login@objectrocket.com",
    "uid": "57fc6b07c3fbee4cbc1e8b77"
  }
}

If you get this message back you’ve successfully received your token! We can now use this token going forward to make additional API calls. In the examples below I’ve saved this value as a variable for reusability:

export token="X-Auth-Token:THISISATOKENImI4Nc1ODVmYjRiMjRiZDczYTJhOTk1ZDc0ZmVjIAvCvVFP5rhdGetXDHETY"
Creating a new instance:

For each of the different API calls below we’ll show an example of the payload (if necessary) followed by an example of the command itself.

# Payload
{
  "service": "elasticsearch",
  "name": "my_instance",
  "version": "5.1.1",
  "zone": "US-East-IAD1",
  "plan": 32,
  "type": "elasticsearch"
}

If you need assistance figuring out what plan sizings we offer you can visit our pricing page. Additionally, more details about (version, zone, etc) can be found in the instance creation modal in the UI.

curl -XPOST 'https://sjc-api.objectrocket.com/v2/instances' -d '{"service":"elasticsearch","name":"my_instance","version":"5.1.1","zone":"US-East-IAD1","plan":32,"type":"elasticsearch"}' -H $token -H "Content-Type: application/json"
Create a user:
# Payload
{
  "username": "myuser",
  "password": "mytestp@ss",
  "role": "admin"
}
curl -XPOST 'https://sjc-api.objectrocket.com/v2/elasticsearch/my_instance/users' -d '{"username": "myuser", "password": "mytestp@ss", "role": "admin"}' -H $token -H "Content-Type: application/json"
Add an acl:
# Payload
{
  "cidr_mask": "203.0.113.11/32",
  "description": "my acl"
}
curl -XPOST 'https://sjc-api.objectrocket.com/v2/instances/my_instance/acls' -d '{"cidr_mask": "203.0.113.11/32", "description": "my acl"}' -H $token -H "Content-Type: application/json"
Add a data node:
# Payload
{
  "count": 1
}
curl -XPOST 'https://sjc-api.objectrocket.com/v2/elasticsearch/new_instance/data_nodes' -d '{"count":1}' -H $token -H "Content-Type: application/json"
Get curator tasks:
curl -XGET 'https://sjc-api.objectrocket.com/v2/instances/my_instance/curatortasks' -H $token -H "Content-Type: application/json"

Recap

These are just a few of the API calls you can leverage using the ObjectRocket API for Elasticsearch. We’ll continue to publish and update our documentation for the API as more features are pushed out. If you have any requests for new API calls or if you have any questions you can always let us know at support@objectrocket.com!

eBook: Everything you need to know about DBaaS

Learn why DBaaS is booming and get a checklist of questions to ask vendors to find the right fit for your business.

Learn More →

DBaaS for Elasticsearch Jetpack eBook: DBaaS for Elasticsearch Jetpack Everything you need to know about Elasticsearch with Kibana. Plus, learn how DBaaS can save you time and money. Learn More →

Keep in the know!

Subscribe to our emails and we’ll let you know what’s going on at ObjectRocket. We hate spam and make it easy to unsubscribe.