Administration API

Exasol Administration API is a RESTful API that you can use to:

  • Manage databases and clusters
  • Create new worker clusters

  • Create and manage backups

  • Manage licenses

  • Create volumes

The Administration API is built on top of ConfD. Since the Administration API is RESTful, you can interact with it using a variety of programming languages and interfaces using standard libraries. For more information, see RESTful API by AWS.

Authentication

The Administration API supports Basic authentication with a user name and password. During deployment, a user “admin” is created with a password specified by the CCC_PLAY_ADMIN_PASSWORD parameter in the c4 configuration. After deployment the password for this user can be changed using the ConfD job user_passwd.

You can create additional users that are able to use the Administration API. These users must belong to the exaadm group. For more information, see Add Users.

The user must be assigned to the exaadm group to be able to use the Administration API.

When using Basic authentication, an authentication token is added to the Authorization header in the HTTP request. The token is a base64 encoding of a string in the format USER:PASSWORD containing the credentials of the user that should execute the request. To generate an authentication token, run the following command:

IFS= read -p $'user: \n' USER_NAME && IFS= read -s -p $'password: \n' PASSWORD && echo -n $USER_NAME:$PASSWORD | base64

For example, the user and password admin:exasol corresponds to the authorization token YWRtaW46ZXhhc29s. When creating an HTTP request, you can add this token to the request. For example:

-H "Authorization: Basic YWRtaW46ZXhhc29s"

Accessing the API

The Administration API is available on the database access node. The endpoint URLs in the REST calls must point to the IP address of the database node.

The Exasol deployment must include an access node if you want to use the Administration API. The access node must be reachable by the client sending the request.

When interacting with the API, configure your client to use insecure server connections unless you uploaded a TLS Certificate. For example, all curl commands require the -k option.

The Administration API specification is defined using the OpenAPI specification (formerly known as Swagger) and is found at https://DATABASE_ACCESS_NODE_IP/openapi.json.

Swagger UI

The database access node includes a Swagger UI that can be used to interact directly with the Administration API after authenticating. The Swagger UI is found at https://DATABASE_ACCESS_NODE_IP/openapi/index.html. For more information, refer to the instructions on the Swagger UI page.

Swagger UI

Examples

The following examples returns the list of available databases in curl and in Python.

The following examples scale a worker cluster to the instance type 'c5d.xlarge'. For more details, see Scale a Cluster.