NAV Navbar

Introduction

Getting Started

This guide helps you get started quickly and easily on the ObjectRocket platform. For a more in-depth discussion of these steps, check out our blog. Follow along on the Sign Up page!

1) Create an Account

Sign up for ObjectRocket.

2) Verify your Email

We'll send you an email. Click the link provided in the email and then click Log In Again once this is complete.

3) Create an Organization

Enter in an Organization name and primary phone number for us to reach you at. Click Next to continue.

4) Billing Information

Enter in your billing information.

Authentication

To get an api token, go to the api token section of your Profile Management page. Add a name for the token and then click the "GENERATE API TOKEN" button.

This will generate a token to use against our api.

Include the header "Api-Token" with your token to authenticate against the api.

Api-Token: <Your api token here>

Or if you're using our Insomnia template, add the api-token to the environment to automatically add it to the header.

Insomnia Template

We have provided an Insomnia Template to assist in working with the Public API - Public API Insomnia Template

Catalog

List cloud providers

GET /cloudproviders/

Returns a list of cloud providers.

Example response

[
  {
    "id": "b1b46267-00ad-4cce-ba9c-c7535fde66a5",
    "dtCreated": "2018-06-13T18:22:37.882000Z",
    "dtModified": "2018-06-13T18:22:37.882000Z",
    "name": "aws"
  }
]

List regions

GET /regions/

GET /regions/?provider=aws

Returns a list of regions

Example response

[
  {
    "id": "09711c09-4425-4e43-80c6-ee5c7e2b8807",
    "dtCreated": "2018-06-13T18:22:37.882000Z",
    "dtModified": "2018-06-13T18:22:37.882000Z",
    "name": "us-east",
    "namePretty": "",
    "pricingMultiplier": "1.00",
    "cloudProvider": "f8091c0c-70e1-4a53-91b3-059d0b96b9fe",
    "providerName": "aws"
  }
]

Query parameters to list regions

Parameter Default Required Description
provider none false the name of the cloud provider to filter by (see List cloud providers)

List services

GET /services/

Returns a list of services.

Example response

[
  {
    "id": "254a608d-b0b3-49d7-aa84-9e566016b995",
    "dtCreated": "2017-03-20T21:20:33.975000Z",
    "dtModified": "2017-03-20T21:20:33.975000Z",
    "name": "Elasticsearch"
  }
]

List service subtypes

GET /servicesubtypes/

GET /servicesubtypes/?service=9a33f633-9d46-4211-ab4b-fbe3b7ccdabb

Returns a list of service subtypes.

Example response

[
  {
    "id": "85413ec3-bf8c-4d4d-9a71-55cd64113692",
    "dtCreated": "2019-01-22T19:24:05.433306Z",
    "dtModified": "2019-03-06T17:26:06.406818Z",
    "name": "elasticsearch_multirole",
    "description": "Elasticsearch Cluster where all nodes share all roles",
    "service": "9a33f633-9d46-4211-ab4b-fbe3b7ccdabb"
  },
  {
    "id": "91580366-57c4-4e8d-b060-5f08fb9ff83d",
    "dtCreated": "2019-01-22T19:24:05.516426Z",
    "dtModified": "2019-03-06T17:26:08.933088Z",
    "name": "elasticsearch_kibana",
    "description": "Elasticsearch Kibana",
    "service": "9a33f633-9d46-4211-ab4b-fbe3b7ccdabb"
  },
  {
    "id": "197d0a17-9ba5-422c-a480-74ef61d71fac",
    "dtCreated": "2019-01-22T19:24:05.521191Z",
    "dtModified": "2019-03-06T17:26:08.948542Z",
    "name": "elasticsearch_cerebro",
    "description": "Elasticsearch Cerebro",
    "service": "9a33f633-9d46-4211-ab4b-fbe3b7ccdabb"
  }
]

Query parameters to list service subtypes

Parameter Default Required Description
service none false the ID of the service to filter by (see List services)

List versions

GET /versions/

GET /versions/?service=Elasticsearch

GET /versions/?serviceSubtype=elasticsearch_multirole

Returns a list of versions

Example response

[
  {
    "id": "46515c66-1c98-4e18-a037-db7dcec7993c",
    "dtCreated": "2019-02-20T21:43:21.956540Z",
    "dtModified": "2019-02-20T21:43:21.956566Z",
    "name": "6.4.0",
    "serviceSubtype": "85413ec3-bf8c-4d4d-9a71-55cd64113692",
    "serviceSubtypeName": "elasticsearch_multirole",
    "serviceName": "Elasticsearch"
  },
  {
    "id": "442297b5-6ff9-4229-ae72-68b1c6abee94",
    "dtCreated": "2019-01-22T19:24:05.511706Z",
    "dtModified": "2019-02-20T21:43:21.965084Z",
    "name": "6.5.3",
    "serviceSubtype": "85413ec3-bf8c-4d4d-9a71-55cd64113692",
    "serviceSubtypeName": "elasticsearch_multirole",
    "serviceName": "Elasticsearch"
  }
]

Query parameters to list versions

Parameter Default Required Description
service none false the name of the service to filter by (see List services)
serviceSubtype none false the name of the service subtype to filter by (see List service subtypes)

List flavors

GET /flavors/

GET /flavors/?service=Elasticsearch

GET /flavors/?serviceSubtype=elasticsearch_multirole

Returns a list of flavors

Example response

[
  {
    "id": "9920dd84-c5fe-497d-a117-3724a1a35b89",
    "dtCreated": "2019-03-04T15:47:18.627318Z",
    "dtModified": "2019-03-04T15:47:18.627348Z",
    "name": "Standard",
    "description": "Most implementations\nBalanced performance and cost per PG\nMulti-use Production ElasticSearch deployments\nModerate indexing and query load",
    "serviceSubtype": "606fe969-7228-4276-ac63-0169762a4ccd"
  }
]

Query parameters to list flavors

Parameter Default Required Description
service none false the name of the service the plan applies to (see List services)
serviceSubtype none false the name of the service subtype the plan applies to (see List service subtypes)

List plans

GET /plans/

GET /plans/?service=Elasticsearch

GET /plans/?serviceSubtype=elasticsearch_multirole

GET /plans/?flavor=standard

Returns a list of plans.

Plans are named as follows: [flavor]_[size]

Example response

[
  {
    "id": "276b71cd-7919-4a4c-a2e7-f9ff3322c8c6",
    "dtCreated": "2019-03-04T15:47:18.631074Z",
    "dtModified": "2019-03-04T15:47:18.631099Z",
    "name": "Standard_48GB",
    "description": "48GB Storage and 3GB Memory",
    "serviceSubtype": "606fe969-7228-4276-ac63-0169762a4ccd",
    "flavor": "9920dd84-c5fe-497d-a117-3724a1a35b89",
    "serviceSubtypeName": "elasticsearch_multirole",
    "flavorName": "Standard",
    "nodes": {
      "elasticsearch": {
        "memoryMb": 1024,
        "diskSizeGb": 16,
        "quantity": 3
      },
      "kibana": {
        "memoryMb": 512,
        "diskSizeGb": 0,
        "quantity": 1
      },
      "cerebro": {
        "memoryMb": 512,
        "diskSizeGb": 0,
        "quantity": 1
      }
    }
  }
]

Query parameters to list plans

Parameter Default Required Description
flavor none false the name of the flavor the plan applies to (see List flavors)
service none false the name of the service the plan applies to (see List services)
serviceSubtype none false the name of the service subtype the plan applies to (see List service subtypes)

Organization

List your organization

GET /organizations/

Returns information about an organization you are a member and owner of.

Example response

{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": "13f8e769-0bb2-4cb5-8218-202411e48e50",
            "primaryEmail": "my.email@gmail.com",
            "billingSetupComplete": true,
            "dtCreated": "2019-02-14T17:02:10.757234Z",
            "dtModified": "2019-02-14T17:02:33.473886Z",
            "companyName": "Company",
            "phoneNumber": "5168359427",
            "billingType": 1,
            "supportLevel": null,
            "trialCreditCents: 20000
        }
    ]
}

Get organization by id

GET /organizations/<organization_id>

Returns information about an organization you are a member and owner of.

Example response

{
    "id": "13f8e769-0bb2-4cb5-8218-202411e48e50",
    "primaryEmail": "my.email@gmail.com",
    "billingSetupComplete": true,
    "dtCreated": "2019-02-14T17:02:10.757234Z",
    "dtModified": "2019-02-14T17:02:33.473886Z",
    "companyName": "Company",
    "phoneNumber": "5168359427",
    "billingType": 1,
    "supportLevel": null,
    "trialCreditCents: 20000
}

Update organization

PATCH /organization/<organization_id>/

Updates an organization you are a member and owner of.

Note that only companyName, primaryEmail, and phoneNumber can be updated this way. Contact support with any additional needs.

Body parameters to update an organization

Parameter Default Required Description
companyName none false current company name or name to change to
phoneNumber none false phone number to contact in case of support
primaryEmail none false email to contact in case of support

Example request

{
    "companyName": "ObjectRocketing",
    "primaryEmail": "bob@objectrocket.com"
}

Example response

{
    "id": "a77da3a4-8ee0-42cb-8c5e-36a9c653a915",
    "primaryEmail": "bob@objectrocket.com",
    "dtCreated": "2018-07-26T16:05:59.618470Z",
    "dtModified": "2018-07-26T16:36:57.711589Z",
    "companyName": "ObjectRocketing",
    "phoneNumber": "777-777-7777"
}

Instances

Instance status

Every instance has a status field and a human-readable statusDisplay field to record what status the instance is in.

Status Status Display Meaning
1 "Ready" Instance is running and ready for use
2 "Failed" Instance has entered a failure state
3 "Deleted" Instance has been deleted
4 "Create Requested" The request for an instance has been received and queued
5 "Update Requested" The request for an instance update has been received and queued
6 "Delete Requested" The request for an instance delete has been received and queued
7 "Building" The instance is being built
8 "Updating" The instance is being updated
9 "Deleting" The instance is being deleted
10 "Restart requested" The request for an instance restart has been received and queued
11 "Restarting" The instance is being restarted

List instances

GET /instanceslist/

GET /instanceslist/?region=us-east-1

Returns a list of instances for your organization.

Example response

[
    {
    "id": "081df6db-2f18-4d82-89e7-f6af577a3847",
    "name": "arbiters_testing1",
    "service": "MongoDB",
    "serviceSubtype": "mongodb_sharded",
    "provider": "azure",
    "hosts": [
        {
        "id": "0d553f4c-6e1f-4722-988f-3bf05325d618",
        "role": "Mongod",
        "dtCreated": "2017-02-02T04:59:01.991751Z",
        "dtModified": "2017-02-02T04:59:01.991788Z",
        "fqdn": "104.210.159.176",
        "port": 27017,
        "klass": "Standard_DS1_v2",
        "replsetId": "568949b9-f81e-4fce-b5a3-dc20ed534195",
        "uuid": "3d298ed9-f0eb-4227-9455-e64cabca2a96"
        },
        {
        "id": "7cccb688-be5b-4649-ad79-4e8b4b8102cb",
        "role": "Mongos",
        "dtCreated": "2017-02-02T04:59:01.985157Z",
        "dtModified": "2017-02-02T04:59:01.985196Z",
        "fqdn": "40.84.238.253",
        "port": 27018,
        "klass": "Standard_DS1_v2",
        "replsetId": "f09c453e-971c-4176-976f-eb59b4169746",
        "uuid": "801a9488-ebaa-4623-a970-cda902b82f80"
        },
        {
        "id": "8b8c6461-603d-474d-ae5f-72f2cd2b8948",
        "role": "Mongos",
        "dtCreated": "2017-02-02T04:59:01.987340Z",
        "dtModified": "2017-02-02T04:59:01.987378Z",
        "fqdn": "40.84.233.175",
        "port": 27018,
        "klass": "Standard_DS1_v2",
        "replsetId": "f09c453e-971c-4176-976f-eb59b4169746",
        "uuid": "46ed84c5-a34b-4c58-960b-ddb4c5b967c1"
        },
        {
        "id": "8e92a493-13db-402d-8309-bc2821f35dcd",
        "role": "Mongod",
        "dtCreated": "2017-02-02T04:59:01.989493Z",
        "dtModified": "2017-02-02T04:59:01.989531Z",
        "fqdn": "104.210.158.110",
        "port": 27017,
        "klass": "Standard_DS1_v2",
        "replsetId": "568949b9-f81e-4fce-b5a3-dc20ed534195",
        "uuid": "a968dc15-fc03-455d-b1a1-7b68aebdc6d2"
        },
        {
        "id": "9d6a5ada-5e2c-41d3-8748-58444f8d5561",
        "role": "Arbiter",
        "dtCreated": "2017-02-02T04:59:01.993934Z",
        "dtModified": "2017-02-02T04:59:01.993971Z",
        "fqdn": "13.84.155.141",
        "port": 27017,
        "klass": "Basic_A0",
        "replsetId": "568949b9-f81e-4fce-b5a3-dc20ed534195",
        "uuid": "cc06433e-82cc-4984-8373-7f85b0ed5c98"
        },
        {
        "id": "c2d436c1-f2b3-4098-be3a-e304d12208c8",
        "role": "Mongos",
        "dtCreated": "2017-02-02T04:59:01.982429Z",
        "dtModified": "2017-02-02T04:59:01.982463Z",
        "fqdn": "40.84.235.245",
        "port": 27018,
        "klass": "Standard_DS1_v2",
        "replsetId": "f09c453e-971c-4176-976f-eb59b4169746",
        "uuid": "5b562edf-c8c1-4591-b1bb-14888df95863"
        }
    ],
    "plan": "20GB",
    "features": {
        "storageEngine": "wiredtiger"
    },
    "settings": {},
    "acls": [],
    "statusDisplay": "Ready",
    "connectionString": "104.210.158.110:27017,13.84.155.141:27017,40.84.233.175:27018,104.210.159.176:27017,40.84.238.253:27018,40.84.235.245:27018",
    "dtCreated": "2017-01-31T19:39:57.266995Z",
    "dtModified": "2017-02-02T04:59:01.978902Z",
    "version": "3.2.11",
    "region": "southcentralus",
    "encrypted": false,
    "status": 2,
    "requested": "2017-02-02T04:59:01.978919Z",
    "completed": "2017-02-02T04:59:01.978662Z",
    "cidr": "10.0.10.0/24",
    "metadata": {"resourceGroup": "1a678566-53f2-4b00-9a08-9cce4669a8a3"},
    "vnetId": "1a678566-53f2-4b00-9a08-9cce4669a8a3"
    }
]

Query parameters to list instances

Parameter Default Required Description
plan none false instance plan, e.g. 20GB (see List plans)
region none false cloud region the instance was provisioned in (see List regions)
service none false which datastore service the instance is (see List services)
serviceSubtype none false which service subtype the instance is (see List service subtypes)
status none false status code of the instance
version none false datastore version (see List versions)

ACLs

ACLs are attached to instances of a particular product type.

Current product types:

List ACLs

GET /instances/{product}/<instance_id>/acls/

Returns a list of ACLs for an instance of a product.

For example, for an elasticsearch instance with the id of 062a0fa2-2d26-45d8-a379-ec185b8fee59, the call would be to

/instances/elasticsearch/062a0fa2-2d26-45d8-a379-ec185b8fee59/acls/.

Example response

[
  {
    "cidr": "127.0.0.1/32",
    "kind": 1,
    "name": "us-east"
  },
  {
    "cidr": "192.168.0.0/16",
    "kind": 1,
    "name": "us-west"
  }
]

Get a specific ACL

GET /instances/{product}/<instance_id>/acls/<acl_id>/

Returns an ACL for an instance of a product.

Example response

{
  "id": "80f99064-737f-4134-9157-95de0e624bfc",
  "cidr": "192.168.0.0/16",
  "kind": 1,
  "name": "us-west"
}

Create an instance ACL

POST /instances/{product}/<instance_id>/acls/

Requests that an ACL be created by the build system. A successful request will return HTTP 202.

Note: kind is required for ACLs for Elasticsearch (including Kibana and Cerebro), but not for other databases.

Body parameters to create an instance ACL

Parameter Default Required Description
cidr none true ip address or CIDR block to apply
kind 1 false a qualifier which identifies the kind of ACL, required for Elasticsearch. Valid options are 2 (for Elasticsearch), 4 (for Kibana), 5 (for Cerebro), 6 (for CockroachDB), 7 (for CockroachDB Admin)
name none true a name for the ACL

Example request

{
  "cidr": "192.168.0.0/16",
  "kind": 4,
  "name": "datacenter"
}

Example response

{
  "id": "728edd1e-02c2-49a2-9859-58fdeac32df2",
  "transactionId": "74d8470e-d1f4-40b8-b089-86545b1b88dc"
}

Delete ACLs

DELETE /instances/{product}/<instance_id>/acls/<acl_id>/

Requests that an ACL be deleted.

Delete requests currently return no body and a response code of 204.

Elasticsearch Instances

List all Elasticsearch instances

GET /instances/elasticsearch/

Returns a list of all Elasticsearch instances.

Example response

  [{
    "id": "081df6db-2f18-4d82-89e7-f6af577a3847",
    "name": "arbiters_testing1",
    "service": "Elasticsearch",
    "serviceSubtype": "elasticsearch_multirole",
    "provider": "AWS",
    "hosts": [],
    "plan": "Standard_48GB",
    "features": {
      "addons": {}
    },
    "settings": {},
    "acls": [
      {
        "id": "25ffae8c-cfbf-4252-a37e-3b64187ef55a",
        "cidr": "7.7.7.7/32",
        "kind": 4,
        "name": "our_app"
      },
    ],
    "statusDisplay": "Ready",
    "dtCreated": "2017-01-31T19:39:57.266995Z",
    "dtModified": "2017-02-02T04:59:01.978902Z",
    "version": "6.4.0",
    "clusterID": "081df6db-2f18-4d82-89e7-f6af577a3857",
    "region": "us-east-1",
    "encrypted": false,
    "status": 2,
    "requested": "2017-02-02T04:59:01.978919Z",
    "completed": "2017-02-02T04:59:01.978662Z",
    "metadata": {}
  }
]

Get specific Elasticsearch instance (by id)

GET /instances/elasticsearch/<ID>/

Returns a specific Elasticsearch instance.

Example response

{
  "id": "081df6db-2f18-4d82-89e7-f6af577a3847",
  "name": "arbiters_testing1",
  "service": "Elasticsearch",
  "serviceSubtype": "elasticsearch_multirole",
  "provider": "AWS",
  "hosts": [],
  "plan": "Standard_48GB",
  "features": {
    "addons": {}
  },
  "settings": {},
  "acls": [
    {
      "id": "25ffae8c-cfbf-4252-a37e-3b64187ef55a",
      "cidr": "7.7.7.7/32",
      "kind": 4,
      "name": "our_app"
    },
  ],
  "statusDisplay": "Ready",
  "dtCreated": "2017-01-31T19:39:57.266995Z",
  "dtModified": "2017-02-02T04:59:01.978902Z",
  "version": "6.4.0",
  "clusterID": "081df6db-2f18-4d82-89e7-f6af577a3857",
  "region": "us-east-1",
  "encrypted": false,
  "status": 2,
  "requested": "2017-02-02T04:59:01.978919Z",
  "completed": "2017-02-02T04:59:01.978662Z",
  "metadata": {}
}

Create an Elasticsearch instance

POST /instances/elasticsearch/

Requests that an Elasticsearch instance be created by the build system.

A successful request will return HTTP 202. At this point the instance will have a status of 4 and status_display of Create Requested. Once the build system is actively building the instance, it will have a status of 7 (Building).

Once the instance has been fully built out the record will be updated to status 1 and status_display Ready. Additionally the record will be updated with member hosts, connection strings, etc.

Body parameters to create an Elasticsearch instance

Parameter Default Required Description
acls none false creates acls for instance on build
features none true instance features dependent on service
features.addons none false elasticsearch addons that can be toggled on or off
features.addons.kibana true false enables Kibana
features.addons.cerebro true false enables Cerebro
name none true a name for the instance
plan none true a valid plan identifier (see List plans)
provider none true currently only AWS (see List cloud providers)
region none true which cloud region to deploy to, e.g. us-east-1 (see List regions)
service none true which service is requested (see List services)
serviceSubtype none true elasticsearch_multirole for elasticsearch (see List service subtypes)
settings none false settings for instance like config file or image version
settings.elasticsearch.yml none false elasticsearch config file that will override the default
version none true requested version of service (see List versions)

Example request

{
    "plan": "Standard_48GB",
    "name": "whatever",
    "version": "6.3.0",
    "region": "us-east-1",
    "service": "elasticsearch",
    "features": {
      "addons": {
        "kibana": true
      }
    },
    "acls": [
      {
        "cidr": "192.168.0.0/16",
        "kind": 2,
        "name": "datacenter"
      }
    ],
    "settings": {},
    "provider": "AWS",
    "serviceSubtype": "elasticsearch_multirole"
}

Example response

{
  "id": "728edd1e-02c2-49a2-9859-58fdeac33df2",
  "transactionId": "74d8470e-d1f4-40b8-b089-86545b1c88dc"
}

Rename an Elasticsearch instance

PATCH /instances/elasticsearch/<ID>/

Requests the instance be renamed to the specified value.

Body parameters to rename an Elasticsearch instance

Parameter Default Required Description
name none true a name for the instance

Example request

{
    "name": "adifferentname"
}

Example response

{
  "id": "728edd1e-02c2-49a2-9859-58fdeac32df2",
  "name": "adifferentname"
}

Delete an Elasticsearch instance

DELETE /instances/elasticsearch/<ID>/

Requests that an Elasticsearch instance be deleted.

This will set the instance to status 4 (Delete Requested).

Delete requests currently return no body and a response code of 204.

Elasticsearch User Management

List Elasticsearch instance users

GET /instances/elasticsearch/<instance_id>/users/

Returns a list of users for the specified Elasticsearch instance.

Example response

[
    {
        "id": "0bccec0f-62e9-42b8-bd4f-f36e0ea9834e",
        "username": "customer_readonly_user",
        "role": [
            "readonly"
        ]
    },
    {
        "id": "02602cda-9247-46de-b9a1-bb02d170af95",
        "username": "customer_admin",
        "role": [
            "admin"
        ]
    }
]

Get a specific Elasticsearch instance user (by id)

GET /instances/elasticsearch/<instance_id>/users/<user_id>/

Returns the user specified for the specified Elasticsearch instance.

Example response

{
    "id": "0bccec0f-62e9-42b8-bd4f-f36e0ea9834e",
    "username": "customer_readonly_user",
    "role": [
        "readonly"
    ]
}

Create Elasticsearch instance user

POST /instances/elasticsearch/<instance_id>/users/

Creates a new Elasticsearch user for an Elasticsearch instance.

Example request

{
    "username": "new_user_3",
    "password": "abc",
    "roles": ["admin"]
}

Example response

{
    "id": "0bccec0f-62e9-42b8-bd4f-f36e0ea9834e",
    "dtCreated": "2018-09-06T17:43:25.671836Z",
    "dtModified": "2018-09-06T17:43:25.671865Z",
    "dtDeleted": null,
    "username": "new_user_3",
    "instance": "26b9955f-9b56-443b-be7a-54bda5725391",
    "role": [
        "ba2ca9cc-c4c1-46a5-bd1f-33385e1fbba0"
    ]
}

Body parameters to create an Elasticsearch instance user

Parameter Default Required Description
password none true password for the user
roles none true list of roles assigned to the user. Choices are "admin", "kibana", and "readonly". Multiple roles are supported
username none true username for the new user

Update Elasticsearch instance user

PATCH /instances/elasticsearch/<instance_id>/users/<user_id>

Updates an existing Elasticsearch user for an Elasticsearch instance.

Example request

{
    "username": "new_username",
    "roles": ["readonly", "kibana"]
}

Example response

{
    "id": "02602cda-9247-46de-b9a1-bb02d170af95",
    "dtCreated": "2018-09-06T17:43:18.091435Z",
    "dtModified": "2018-09-06T17:43:48.241937Z",
    "dtDeleted": null,
    "username": "new_user",
    "instance": "26b9955f-9b56-443b-be7a-54bda5725391",
    "role": [
        "adf45913-4669-4f7c-9957-865a4bdb8527",
        "ba13ha9c-c4c1-4ca5-bd1f-33385e1fbba0"
    ]
}

Body parameters to update an Elasticsearch instance user

Parameter Default Required Description
password none false new password for the user
roles none false new list of roles assigned to the user. Choices are "admin", "kibana", and "readonly". Multiple roles are supported
username none false new username for the user

Delete Elasticsearch instance user

DELETE /instances/elasticsearch/<instance_id>/users/<user_id>

Deletes an Elasticsearch user belonging to the Elasticsearch instance.

Delete requests currently return no body and a response code of 204.

CockroachDB Instances

List all CockroachDB instances

GET /instances/cockroachdb/

Returns a list of all CockroachDB instances.

Example response

[
  {
    "id": "081df6db-2f18-4d82-89e7-f6af577a3847",
    "name": "cockroachdb_testing1",
    "service": "CockroachDB",
    "serviceSubtype": "singlecluster",
    "provider": "AWS",
    "hosts": [],
    "plan": "Alpha_30GB",
    "features": {
      "addons": {}
    },
    "settings": {},
    "acls": [
      {
        "id": "25ffae8c-cfbf-4252-a37e-3b64187ef55a",
        "cidr": "7.7.7.7/32",
        "kind": 6,
        "name": "our_app"
      },
    ],
    "statusDisplay": "Active",
    "dtCreated": "2017-01-31T19:39:57.266995Z",
    "dtModified": "2017-02-02T04:59:01.978902Z",
    "version": "2.1.5",
    "clusterID": "081df6db-2f18-4d82-89e7-f6af577a3857",
    "region": "us-east-1",
    "encrypted": false,
    "status": 2,
    "requested": "2017-02-02T04:59:01.978919Z",
    "completed": "2017-02-02T04:59:01.978662Z",
    "metadata": {}
  }
]

Get specific CockroachDB instance (by id)

GET /instances/cockroachdb/<ID>/

Returns a specific CockroachDB instance.

Example response

{
  "id": "081df6db-2f18-4d82-89e7-f6af577a3847",
  "name": "cockroachdb_testing1",
  "service": "CockroachDB",
  "serviceSubtype": "singlecluster",
  "provider": "AWS",
  "hosts": [],
  "plan": "Alpha_30GB",
  "features": {
    "addons": {}
  },
  "settings": {},
  "acls": [
    {
      "id": "25ffae8c-cfbf-4252-a37e-3b64187ef55a",
      "cidr": "7.7.7.7/32",
      "kind": 6,
      "name": "our_app"
    },
  ],
  "statusDisplay": "Active",
  "dtCreated": "2017-01-31T19:39:57.266995Z",
  "dtModified": "2017-02-02T04:59:01.978902Z",
  "version": "2.1.5",
  "clusterID": "081df6db-2f18-4d82-89e7-f6af577a3857",
  "region": "us-east-1",
  "encrypted": false,
  "status": 2,
  "requested": "2017-02-02T04:59:01.978919Z",
  "completed": "2017-02-02T04:59:01.978662Z",
  "metadata": {}
}

Create a CockroachDB instance

POST /instances/cockroachdb/

Requests that a CockroachDB instance be created by the build system.

A successful request will return HTTP 202. At this point the instance will have a status of 1 and status_display of Requested. Once the instance has been fully built out the record will be updated to status 2 and status_display Active. Additionally the record will be updated with member hosts, connection strings, etc.

Body Parameters

Parameter Default Required Description
acls none false creates acls for instance on build
name none true a name for the instance
plan none true a valid plan identifier (see List plans)
provider none true currently only AWS (see List cloud providers)
region none true which cloud region to deploy to, e.g. us-east-1 (see List regions)
service none true which service is requested (see List services)
serviceSubtype none true singlecluster for CockroachDB (see List service subtypes)
version none true requested version of service (see List versions)

Example request

{
    "plan": "Alpha_30GB",
    "name": "cockroach-test",
    "version": "2.1.5",
    "region": "us-east-1",
      "provider": "AWS",
    "service": "CockroachDB",
    "features": {},
    "settings": {},
    "serviceSubtype": "singlecluster"
}

Example response

{
  "id": "728edd1e-02c2-49a2-9859-58fdeac33df2",
  "transactionId": "74d8470e-d1f4-40b8-b089-86545b1c88dc"
}

Rename a CockroachDB instance

PATCH /instances/cockroachdb/<ID>/

Requests the instance be renamed to the specified value.

Body Parameters

Parameter Default Required Description
name none true a name for the instance

Example request

{
    "name": "adifferentname"
}

Example response

{
  "id": "728edd1e-02c2-49a2-9859-58fdeac32df2",
  "name": "adifferentname"
}

Delete a CockroachDB instance

DELETE /instances/cockroachdb/<ID>/

Requests that a CockroachDB instance be deleted.

This will set the instance to status 4 (Delete Requested). The status will be updated to 5 (Deleted) once the resources have been removed.

Delete requests currently return no body and a response code of 204.

Example response