Access the API using a REST application

edit

You can interact with the full Elasticsearch Service API using a REST client application such as Postman. These steps show how to import the OpenAPI specification into a client and then run API requests. This can be a convenient alternative to using either a terminal session or the Cloud UI to manage your deployments.

Follow these steps to set up your REST application:

  1. If you don’t already have one, create an API key.
  2. Run the following curl command to download the current API specification:

    curl -o swagger.json https://api.elastic-cloud.com/api/v1/api-docs-user/swagger.json
  3. Visit the Postman download page and follow the instructions to install the application version that matches your operating system.
  4. Open Postman and select Import. Then, drag and drop your downloaded swagger.json file into the Upload Files field.

    The Import dialog and Upload Files field in Postman
  5. Leave all settings at the default values and select Import to add the API specification as a new collection. Since you’re not saving the document as an API, you can ignore the warning about needing to be signed in.

    The Confirm your import window in Postman
  6. Open the Environments tab, select Create a new Environment, and rename it to Elastic Cloud API.
  7. Add a variable hostname and set it to api.elastic-cloud.com.
  8. Select Save to apply the change. Note that in the following graphic, the Initial Value column is hidden for clarity. You need to set only the Current Value.

    The Environments tab
  9. Open the Collections tab, hover over the Elastic Cloud API collection, and select View more actionsEdit.
  10. Under the Variables tab:

    1. Set baseUrl to https://api.elastic-cloud.com/api/v1. Note that if the variable is set by default it may need to be updated to have a trailing / character deleted.
    2. Any other variables can be deselected.

      The Edit Collection window
  11. Under the Authorization tab:

    1. Set Type to API Key.
    2. Set Key to Authorization.
    3. Set Value to ApiKey plus the value of your key, for example ApiKey V0VtQnEzY0Jpd2l6dk10RW9SeXQ6ajNjSDY2b0FUVldtVHJmTTgxQ2hKQQ==.
    4. Set Add to to Header.

      API Key authorization with Key
    5. Save your settings.

Now that the Postman application has been configured to work with the Elasticsearch Service API, you can try a test API request:

  1. Make sure that the drop-down box for your environment is set to Elastic Cloud API.

    Elastic Cloud API environment is selected
  2. Expand the Elastic Cloud API collection, scroll to the deployments section, and select the List Deployments GET request.

    The 'List Deployments' GET request in the request collection
  3. Select Send.
  4. If the request connects successfully, the status pane shows a status of 200 OK along with the response time and response size. The Body tab displays the JSON response from the API.

    The status for the submitted request showing '200 OK' and the JSON response
  5. You’ll use part of this JSON response for your next API request. Copy the value of id from the deployments instance.

    The 'id' value in the 'deployments' instance of the JSON response
  6. Expand the Elastic Cloud API collection, and under deployments{deployment id} choose the Get Deployment GET request.
  7. Note that the request includes a deployment_id path variable.

    Details for the Get Deployment request
  8. You can try a test run of the Get Deployment request. The request should fail with a requested resource could not be found error because the required deployment_id variable is not set.
  9. Under Path Variables:

    1. Set deployment_id to the value for id that was returned in the previous List Deployments GET request.

      Details for the Get Deployment request
  10. Select Send.
  11. If the request connects successfully, the status pane shows a status of 200 OK and the Body tab displays the JSON response from the API, with details about the deployment configuration and its current state.

You can now use all of the other requests available in the collection that you created from the Elasticsearch Service OpenAPI specification. To learn more about all of the available API endpoints, check the API reference and examples.