API-based registration and upload

The Registration and Telemetry page covers registration and export upload for most offline customers. This page documents the underlying API calls directly, for customers who need to script or automate telemetry registration and upload outside of the DCT UI.

This is an advanced/alternate path. Most customers should use the process described in Registration and Telemetry.

Register via API

  1. Copy your Product ID and Public Key from Admin > Telemetry > Switch to Offline Registration in DCT.

  2. Run the following command, substituting your Delphix account API token, DCT Product ID, and DCT Public Key:

Linux/macOS:

Copy
curl --request POST \
    --url 'https://api.apps.delphix.com/v1/telemetry/register' \
    --header 'Authorization: Bearer <DELPHIX_ACCOUNT_TOKEN>' \
    --header 'Content-Type: application/json' \
    --data '{
    "uuid": "<DCT_PRODUCT_ID>",
    "key": "<DCT_PUBLIC_KEY>"
}'

Windows (PowerShell):

Copy
$response = Invoke-RestMethod `
    -Uri 'https://api.apps.delphix.com/v1/telemetry/register' `
    -Method Post `
    -Headers @{ Authorization = 'Bearer <DELPHIX_ACCOUNT_TOKEN>'; 'Content-Type' = 'application/json' } `
    -Body (@{ uuid = '<DCT_PRODUCT_ID>'; key = '<DCT_PUBLIC_KEY>' } | ConvertTo-Json)
$response | ConvertTo-Json

Both commands return a response similar to:

Copy
{
    "key": "<value>",
    "token": "<value>"
}
  1. Copy the entire JSON response shown above as-is, and paste it into the single response field in DCT — do not split it into separate values.

  2. Submit to complete offline registration. Verify successful registration status directly in the DCT UI.

Upload an export via API

  1. Log in to DCT, navigate to Admin > Telemetry, and select Download export.

  2. Choose a date range or leave as default for a comprehensive export.

  3. Prepare the upload location by running:

Copy
curl --request POST \
    --url 'https://api.apps.delphix.com/v1/telemetry/initiate' \
    --header 'Authorization: Bearer <DELPHIX_ACCOUNT_TOKEN>' \
    --header 'Content-Type: application/json' \
    --data '{"uuid": "<DCT_PRODUCT_ID>"}'
  1. Use the response values to execute the following command and upload your export. Ensure careful replacement of placeholders (e.g., <AWS_UPLOAD_URL>, <AWS_KEY>, etc.) as incorrect substitutions will cause upload errors:

Copy
curl -X POST "<AWS_UPLOAD_URL>" \
    --form "key=<AWS_KEY>" \
    --form "x-amz-algorithm=<AWS_ALGORITHM>" \
    --form "x-amz-credential=<AWS_CREDENTIAL>" \
    --form "x-amz-date=<AWS_DATE>" \
    --form "x-amz-security-token=<AWS_SECURITY_TOKEN>" \
    --form "x-amz-signature=<AWS_SIGNATURE>" \
    --form "policy=<AWS_POLICY>" \
    --form "file=@<DCT_BUNDLE_FILE_PATH>"
  1. A successful upload returns a 204 status which can be confirmed by using the -v verbose argument. Retain the confirmation response or take a screenshot for record-keeping and audit purposes.

Unregister via API

If your DCT instance was registered in error, run the following command to clear its registration:

Copy
curl --request DELETE \
    --url 'https://<DCT_HOST>/management/product-registration-offline' \
    --header 'Authorization: Bearer <DELPHIX_ACCOUNT_TOKEN>'

A successful call returns a 204 status with no response body. This clears the registration data stored on the DCT instance so it can be re-registered; it does not automatically upload telemetry on a schedule. You are still expected to keep telemetry uploads current per your agreement with Delphix.