API summary
Introduction
This page provides an overview of the various data APIs supported by Data Control Tower (DCT), along with example requests and guidance on using them.
DCT offers support for a handful of primary API options, based on development needs and preferences:
REST API
Command Line Interface
Go SDK
Python SDK
Integrations
1. REST API
The most popular option for interacting with DCT APIs.
Interactive API documentation: You can explore and experiment with the REST API directly in your web browser using the Swagger interface. To access it, enter your DCT hostname (with the protocol and suffix included) followed by the
/api
path in the address bar. For example, if DCT is running ongateway.example.com
, navigate tohttps://gateway.example.com/dct/api
.API references: For a detailed list of available REST API endpoints, see our API references page.
Authentication with Swagger: When authenticating with the Swagger API, be sure to prefix your API key with
apk
. For instance, if your API key is1.2345
, you should useapk 1.2345
as the authentication header.
It is important to recognize that the REST APIs are the foundation for all other integrations.
2. Command Line Interface (CLI)
The second most popular option for interacting with DCT APIs, done through a command line called the dct-toolkit
.
DCT Toolkit documentation: The DCT Toolkit commands for DCT can be found here, in our documentation.
3. Go SDK
For developers who prefer to work with Go, DCT provides a Go SDK to help simplify development and integration.
Go SDK documentation: The Go bindings for DCT can be found here, on go.dev.
4. Python SDK
The Python SDK is another option for interacting with DCT, offering a Pythonic way to automate tasks within DCT.
Python SDK documentation: The Python bindings can be found here, on PyPi.
You can install the latest version with the following command:
BASHpip install delphix-dct
4a. Querying engines example for Python
This exemplifies how to use the Python SDK to query DCT for information about connected Continuous Data Engines.
import delphix.api.gateway
import delphix.api.gateway.configuration
import delphix.api.gateway.api.management_api
cfg = delphix.api.gateway.configuration.Configuration()
cfg.host = "<https://localhost/v2>"
# For example purposes
cfg.verify_ssl = False
# Replace the string with your own API key
cfg.api_key['ApiKeyAuth'] = 'apk 3.tEd4DXFce'
api_client = delphix.api.gateway.ApiClient(configuration=cfg)
engines_api = delphix.api.gateway.api.management_api.ManagementApi(api_client)
print(engines_api.get_registered_engines())
The result should appear similar to the following:
{
"items": [
{
"connection_status": "ONLINE",
"cpu_core_count": 2,
"data_storage_capacity": 23404216320,
"data_storage_used": 11589626880,
"hostname": "avm.delphix.com",
"id": 1,
"insecure_ssl": True,
"memory_size": 8589934592,
"name": "vmname",
"password": "******",
"status": "CREATED",
"tags": [],
"type": "UNSET",
"unsafe_ssl_hostname_check": False,
"username": "admin",
"uuid": "ec2fbfea-928b-07f8-94c4-29fea614624f",
"version": "6.1.0.0"
}
]
}
5. Integrations
If you prefer a more out-of-the-box approach for your DevOps tooling, Delphix offers a wide array of integration options, outlined more in the Ecosystem hub for integrations documentation. There, you can find information on Delphix-supported integrations, such as ServiceNow, Jenkins, Terraform, or Kubernetes.