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
lumenvoxnamespace 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 lumenvoxWait for the pod to reach Running status before proceeding:
kubectl get pods -n lumenvox | grep diag-toolsStep 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 -- bashStep 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
| Symptom | Resolution |
curl: connection refused or no route to host | Confirm 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 POST | Verify the Deployment ID is correct and that X-Scopes includes all three values: VB MGMT REPO. |
| Configuration value does not change after the POST | Re-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 exec | Run kubectl get pods -n lumenvox to confirm the pod is in Running state before attempting to exec into it. |
