API node administration API

The API node can be managed through:

The REST API

Request and response formats

For POST and PUT requests, the request body must be JSON, with the Content-Type header set to application/json.

For almost all requests, the response will be JSON.

Whether a request succeeded is indicated by the HTTP status code. A 2xx status code indicates success, whereas a 4xx or 5xx status code indicates failure. When a request fails, the response body is still JSON and contains additional information about the error.

Authentication

Authentication on the admin API is done via the use of API keys. API keys can be managed using the apinode-admin command-line tool.

The API key must be sent using HTTP Basic Authorization:

  • Use the API key as username
  • The password can remain blank

Methods reference

The reference documentation of the API is available at https://doc.dataiku.com/dss/api/4.0/apinode-admin

Admin REST API Python client

Dataiku provides a Python client for the API Node administration API. The client makes it easy to write client programs for the API in Python.

Installing

  • The API client is already pre-installed in the DSS virtualenv
  • From outside of DSS, you can install the Python client by running pip install dataiku-api-client

Reference API doc

class dataikuapi.APINodeAdminClient(uri, api_key)

Entry point for the DSS APINode admin client

auth()

Returns a handle to interact with authentication

create_service(service_id)
get_metrics()
list_services()
service(service_id)

Gets a handle to interact with a service

class dataikuapi.apinode_admin.service.APINodeService(client, service_id)

A handle to interact with the settings of an API node service

delete()

Deletes the API node service

disable()

Disable the service.

enable()
import_generation_from_archive(file_path)
list_generations()
preload_generation(generation)
set_generations_mapping(mapping)

Setting a generations mapping automatically enables the service

switch_to_newest()
switch_to_single_generation(generation)
class dataikuapi.apinode_admin.auth.APINodeAuth(client)

A handle to interact with authentication settings on API node

add_key(label=None, description=None, created_by=None)

Add an Admin API key. Returns the key details

delete_key(key)
list_keys()

Lists the Admin API keys