Configuring Speech Settings Using the Management API

Speech configuration settings—logging verbosity, engine parameters, and other deployment-level options—are normally managed through the Capacity Private Cloud Deployment Portal. The portal is the recommended interface for most operators. In some environments, however, the web interface is not reachable: air-gapped clusters, headless or automated deployments, and tightly restricted networks may expose only the in-cluster API surface. For these cases, every setting available in the portal can also be read and written programmatically through the Management API.

This article walks through the full read-modify-verify cycle against the Management API, using the logging verbosity setting as a worked example: we change it from WARNING to DEBUG, first through the Deployment Portal and then through the equivalent API calls. The same workflow applies to any Speech configuration parameter the API exposes.

Prerequisites

  • kubectl access to the target Kubernetes cluster, with permissions to create deployments and to exec into pods
  • The Deployment ID for the deployment you intend to configure
  • The lumenvox namespace is active and the Management API service is reachable from within the cluster

Option 1: Deployment Portal (Recommended)

When the web interface is available, this is the fastest and least error-prone method. Navigate to:

Configuration → Manage Configurations → Speech → LOGGING_VERBOSITY_DEBUG → Save Changes

Option 2: Management API

The steps below change the logging verbosity from WARNING to DEBUG entirely through the API. The same pattern—query, update, verify—applies to any other Speech configuration value.

Step 1 — Deploy the Diagnostic Tools Pod

The Management API is an in-cluster service, so the calls are issued from a pod that shares the cluster network. Create the diag-tools deployment in the lumenvox namespace:

kubectl create deployment diag-tools --image=lumenvox/diag-tools:jammy-4.2.0 -n lumenvox

Wait for the pod to reach Running status before proceeding:

kubectl get pods -n lumenvox | grep diag-tools

Step 2 — Open a Shell in the Diagnostic Pod

Open an interactive bash session in the pod. Replace <diag-tools-pod-name> with the actual pod name returned in Step 1. All curl commands in Steps 3–5 are run from inside this shell.

kubectl exec -ti <diag-tools-pod-name> -n lumenvox -- bash

Step 3 — Query the Current Speech Configuration

Issue a GET request to retrieve all Speech configuration settings as JSON. Replace <your-deployment-id> with your actual Deployment ID.

curl -X GET \
'http://management-api-service.lumenvox:5110/Management/ConfigurationSettings/SpeechConfiguration' \
-H 'accept: application/json' \
-H 'X-Deployment-Id: <your-deployment-id>' \
-H 'X-Operator-Id: 00000000-0000-0000-0000-000000000001' \
-H 'X-Scopes: VB MGMT REPO'

The response is a JSON object containing the current Speech configuration values, including the loggingSettings block. Locate the loggingVerbosity field and note its current value (for example, LOGGING_VERBOSITY_WARNING) before making any change.

 

Step 4 — Update the Logging Verbosity to DEBUG

Issue a POST request to apply the new value. Replace <your-deployment-id> with your actual Deployment ID.

curl -X POST \
'http://management-api-service.lumenvox:5110/Management/ConfigurationSettings/SpeechConfiguration' \
-H 'accept: application/json' \
-H 'X-Deployment-Id: <your-deployment-id>' \
-H 'X-Operator-Id: 00000000-0000-0000-0000-000000000001' \
-H 'X-Scopes: VB MGMT REPO' \
-H 'Content-Type: application/json' \
-d '{ "loggingSettings": { "loggingVerbosity": "LOGGING_VERBOSITY_DEBUG" } }'

A successful update returns:

"Success"

Note: If you receive an error response instead of "Success", verify that the Deployment ID is correct and that the X-Scopes header includes all three values: VB MGMT REPO.

Step 5 — Verify the Configuration Change

Re-run the GET request from Step 3 to confirm the update was applied:

curl -X GET \
'http://management-api-service.lumenvox:5110/Management/ConfigurationSettings/SpeechConfiguration' \
-H 'accept: application/json' \
-H 'X-Deployment-Id: <your-deployment-id>' \
-H 'X-Operator-Id: 00000000-0000-0000-0000-000000000001' \
-H 'X-Scopes: VB MGMT REPO'

Confirm that the loggingVerbosity field in the response now reads LOGGING_VERBOSITY_DEBUG.

Troubleshooting

SymptomResolution
curl: connection refused or no route to hostConfirm the command is being run from inside the diag-tools pod shell and that the lumenvox namespace is active.
Response is not "Success" after the POSTVerify the Deployment ID is correct and that X-Scopes includes all three values: VB MGMT REPO.
Configuration value does not change after the POSTRe-run the GET request (Step 3) to check the current value. Ensure the JSON field name in the request body exactly matches the API schema—field names are case-sensitive.
Pod not found when running kubectl execRun kubectl get pods -n lumenvox to confirm the pod is in Running state before attempting to exec into it.

Was this article helpful?