Portal Help Guide

Overview

Capacity Private Cloud ships with a pair of web portals that cover day-to-day administration, configuration, diagnostics, analysis, and tuning for the platform. Every function exposed through the portals is also available programmatically through the platform's REST and gRPC APIs — the portals exist to make routine work accessible without scripting. The portals can be used with any public cloud, private cloud, or on-premises installation.

The platform serves two user communities, each with a dedicated portal:

  • Cluster administrators use the Admin Portal to set up and manage deployments across the cluster: connection strings, certificates, custom models, file-store policy, and deployment lifecycle.
  • Tenant administrators use the Deployment Portal to operate and tune a single deployment: diagnostics, configuration, file management, analysis and tuning, in-browser testers, and post-processing.

A Deployment represents a tenant-level instance with a unique Deployment ID used for licensing. A Deployment must exist before any platform product can be consumed.

The Admin Portal includes a direct link into a deployment's Deployment Portal from the Deployment Details page, useful when an administrator has dual access.


Admin Portal

The Admin Portal is scoped across the entire cluster and is the cluster administrator's primary tool. From here, administrators can create deployments, edit their connection strings and certificates, register custom models, manage the deployment lifecycle (clone, import, export, delete, restore, purge), and launch into a deployment's own tools.

Deployments List

The Deployments page is the Admin Portal's home view. It lists every active deployment on the cluster with:

  • Deployment Name — The identifier for your deployment.
  • Description — Brief summary of the deployment purpose.
  • Create Date — When the deployment was first created.
  • Last Modified — Timestamp of the most recent change.
  • Deployment ID — The unique system identifier.
  • Status — The deployment's operational state: Ready, Misconfigured, Unlicensed, or Loading.
  • Actions — Per-row buttons for Edit, Export, Clone, and Delete.

A search field filters the list, and pagination controls let you adjust rows per page.

Creating a Deployment

Click Create Deployment to open the creation form. Steps:

  1. Enter a deployment Name and an optional Description. Choose something that identifies the tenant clearly — environment-specific names such as "Production API" or "Staging EU" work well.
  2. Optionally specify a custom Deployment ID. Leave this blank to have the system generate one. Provide an ID only when re-creating an existing deployment from another cluster.
  3. Enter Connection Strings for Redis, PostgreSQL, and MongoDB. The strings include the endpoint, a username, and a masked password. The following characters are not supported within a password: [ ] { } ( ) , ; ? * = ! @ | ^.
  4. Upload SSL/TLS Certificates for any connection that requires them.
  5. Click Save. The new deployment appears in the Deployments list.

New deployments may take a few minutes to fully register. Use the diagnostic tools described below to verify connectivity.

Editing a Deployment

Click a deployment row, or the row's Edit action, to open the Edit Deployment page. This page is organized as two tabs — Connection Strings and Admin Settings — alongside a Deployment Details panel and a Header Actions bar.

Deployment Details

  • Deployment ID — Read-only unique identifier. A Copy ID control places the value on the clipboard.
  • Name & Description — Click Edit to update either, then Update to save or Cancel to discard.

Connection Strings Tab

The Connection Strings tab manages the three database connections used by the deployment:

  • Redis — cache and queue backend.
  • PostgreSQL — primary relational data store.
  • MongoDB — document store.

Each string is masked by default for security. Click the eye icon to reveal the value, the pencil icon to edit, and the certificate icon to manage SSL/TLS certificates for that connection. Multiple certificates can be uploaded per database type and are listed in the certificate manager (5 MB maximum per file).

Admin Settings Tab

The Admin Settings tab configures deployment-specific administrative options that are not part of the standard connection setup:

  • File Store Configuration — Toggle Read Only Mode (when enabled, the deployment cannot upload or modify files in the file store) and set a Storage Quota in megabytes.
  • Neuron Models — Register custom Neuron models for the deployment by language code and model name (e.g. language code en-US, model name banking).
  • Custom Acoustic Models — Register custom acoustic models for speech recognition.
  • Custom Language Models — Register custom language models for enhanced recognition.
  • Custom TTS Voices — Register custom text-to-speech voices by language code and voice name (e.g. language code en-US, voice name chris).

For each model type, use the model selector to add cluster-provisioned options to the deployment. If the selector reports no available options, the cluster does not have any matching models registered — contact the cluster administrator to add them at the cluster level first.

Header Actions

The Edit Deployment page's header bar provides four actions:

  • Export — Download the deployment's configuration as a JSON file. The file can be imported into another cluster.
  • Clone — Open the Clone Deployment form pre-populated with this deployment's settings.
  • Delete — Logically delete the deployment. Deleted deployments can be restored from the Deleted Deployments page until they are permanently purged.

External Tools

The Edit Deployment page also exposes three launchers that open deployment-scoped tools in a new browser window:

  • Diagnostics — Run full system diagnostics and review warnings and errors.
  • Configuration — Manage deployment-level settings.
  • Deployment Portal — Open the deployment's own portal, where the full set of tenant-administrator tools is available.

Cloning a Deployment

Cloning duplicates an existing deployment's name (prefixed with "Copy of"), description, connection strings, and certificates. Modify any settings before clicking Create Clone to finish. The clone is independent of the original.

Cloning is useful for creating staging or development variants of a working production deployment, or for capturing a known-good configuration before making changes.

Importing and Exporting Deployments

Deployments can be moved between clusters using the import/export flow:

  • Export downloads the deployment as a JSON file (Header Actions on the Edit Deployment page).
  • Import uploads a JSON file or accepts pasted JSON content. The Import dialog validates JSON syntax in real time — a green indicator confirms valid JSON, a red indicator highlights specific syntax errors. The dialog also handles duplicate Deployment ID conflicts automatically.

Before importing, review the JSON to confirm the deployment ID, name, connection strings, and masterKey are appropriate for the target environment. The masterKey must not be left at its placeholder value.

Deleted Deployments

The Deleted Deployments page lists deployments that have been logically deleted but not yet permanently removed. From this page you can:

  • Restore — Move selected deployments back to the active Deployments list. They become fully functional again.
  • Purge — Permanently delete selected deployments. This is irreversible.

Deleted deployments show only limited information: name, description, last modified date, and Deployment ID. Create date, status, and per-row actions are not available for deleted items.

Export any deployment you might want to retrieve later before purging it.


Deployment Portal

The Deployment Portal is scoped to a single tenant. After a cluster administrator creates a deployment and shares the Deployment ID, tenant administrators use the Deployment Portal to operate and tune the platform day to day.

Cluster administrators cannot perform deployment-level actions (deleting deployments, creating deployments, changing connection strings, uploading service certificates) from the Deployment Portal — those remain in the Admin Portal. Conversely, tenant administrators do their day-to-day work inside the Deployment Portal.

Dashboard

The Dashboard is the Deployment Portal's landing page. It provides a deployment-status overview and a Recent Activity panel summarizing recent operations against the deployment.

Diagnostics

Diagnostics serve two purposes: periodic health checks to confirm that services are running, and root-cause investigation when something goes wrong. For ASR and TTS, diagnostics report findings per language. Warnings and error messages can be reviewed in place, and diagnostics can be re-run after a fix to confirm the issue is resolved.

Diagnostics cover:

  • System Health — Overall service status.
  • Version — Deployed version of each service.
  • Services — Per-service health checks (MongoDB, Redis, PostgreSQL, RabbitMQ, plus ASR/TTS checks).
  • Logs — Recent log output for review.

General health checks are best run from the portal; programmatic checks use the Reporting API's DiagnosticsCheckRequest.

Configuration

Capacity Private Cloud defines a four-level hierarchy for runtime configuration. The lowest (most specific) level in the hierarchy takes precedence for any given setting:

  • Environment Variables (Cluster)— Set during installation or upgrade via Helm Chart values. These affect the cluster as a whole and include things such as supported ASR/TTS languages and per-deployment connection strings. They should only be changed by the cluster administrator.
    • Global (Deployment) — Deployment-wide defaults — timeouts, default values, product-specific behavior. Editable from the Deployment Portal or via the gRPC GlobalSettings API in lumenvox/api/global.proto. Deployment configuration changes do not interrupt running sessions but only apply to sessions and interactions created after the change.
      • Session— Overrides applied to a specific session at the time of creation, via the API.
        • Interaction — Overrides applied to a specific interaction at creation time, via the API.

For full details on individual settings and the APIs that manage them, see developer.lumenvox.com.

Cluster Configurations

Environment variable settings should only be assigned during installation or upgrade via Helm Chart values. Examples include ASR/TTS language lists and per-deployment connection strings. Modifying these should only be done by the cluster administrator.

Deployment Configurations

Deployment-level settings cover runtime behavior such as timeouts, session defaults, and interaction defaults. They are stored as protocol buffer messages in the system database. Two ways to change them:

  1. Via the Deployment Portal's Configuration page.
  2. Via the gRPC GlobalSettings API.

Deployment configuration changes do not interrupt running operations, but they only take effect for sessions and interactions created after the change.

Runtime Configurations

Session-level and interaction-level overrides are submitted together with the API call that creates the session or interaction. They affect only the transaction in progress.

File Store

The File Store is the deployment's per-tenant file space, used for grammars, audio assets, model files, and similar resources. The portal provides a browser-style interface:

  • Upload File — Click to upload, or drag and drop files into the browser window.
  • Create Folder — Organize files into folders.
  • For each file: Name, Size, Last Modified, and Path columns are shown.
  • Delete confirmation is required for destructive actions.

File Store behavior respects the policy set by the cluster administrator in the Admin Portal — specifically the read-only mode and storage quota configured on the Admin Settings tab. When read-only mode is enabled, upload and modification controls are disabled.

Analysis

The Analysis Portal is the Deployment Portal's tuning workbench: build analysis sets from production interactions, transcribe them, and generate accuracy reports for ASR, CPA, AMD, and Transcription. For a focused overview, see Analysis Portal Overview.

An Analysis Set is a collection of interactions that match a filter (for example, all ASR transactions over the last 24 hours). The Analysis page lists every set you have created or imported, with a Status column indicating whether the set is ready for use or still being assembled.

Creating an Analysis Set

Click Create Analysis Set. Provide a unique name, select the interaction type (ASR, CPA, AMD, or Transcription), and choose a date range. Conditional options appear based on the interaction type:

  • For CPA, AMD, and Transcription: a Grammar based option for interactions processed through MRCP.
  • For Transcription: an Enhanced Transcription option for interactions that use the enhanced engine.

Before the set is created, a pre-create check reports how many sessions and interactions match your filter, so you can size the job appropriately. Confirm to proceed.

Importing an Analysis Set

Click Import on the Analysis page. Provide a name, supply the passkey used at export time (if the file was encrypted), and select the file (.bin or .b64). Imported sets appear in the list like any locally-created set.

Exporting an Analysis Set

From either the Analysis list or inside an open set, click the download control. Optionally provide a passkey to encrypt the export file. The file is saved to your downloads folder and can be imported into another deployment.

Opening an Analysis Set

Opening a set displays the included interactions with their status, audio playback, download (.wav or .raw), and metadata. Click the eye icon on a row to view the grammars, configurations, and Engine output for that interaction.

Filtering Interactions

Every column in the interaction grid is filterable using a lightweight query syntax:

  • Double-click a column header to pre-populate the filter for that field, or type the column name manually (for example Final Result Status=Grammar Match).
  • Supported expressions: like, not like, =, !=.
  • Prefix the filter with ! to make it case-sensitive (for example !Final Result Status=Grammar Match).
  • Use the reset control to clear the filter.

Reports: Word, Error, and OOG Lists

These lists break down recognized words, errors, and Out-Of-Grammar (OOG) occurrences across the loaded and filtered dataset. Multi-word phrases are split into individual words in the Word and Error lists. Each row shows:

  • Word, Error, or OOG Occurrence — The recognized word or phrase.
  • Total Count — How many times the word was said within the dataset.
  • Accuracy — Percentage of times the word was correctly recognized.
  • Score (Average) — Average confidence score for the word, reported separately for correct and incorrect engine results.
  • Length (Average) — Average audio length for the word, reported separately for correct and incorrect results.

For CPA analysis sets, an equivalent Result & Error List shows the recognized outputs (e.g. Human Residence, Human Business, Unknown Silence) with count and accuracy.

Statistics

Once interactions have been transcribed, the portal calculates accuracy statistics for the full set. Some statistics are product-specific.

StatisticDefinition
Word AccuracyPercentage of words correctly recognized by the Speech Engine.
Utterance AccuracyPercentage of interactions in which every word was correctly recognized. SI Matches count as correct; OOG and OOC do not count as incorrect.
CorrectNumber of correctly recognized interactions out of the total, with percentage in parentheses.
IncorrectNumber of incorrectly recognized interactions out of the total, with percentage in parentheses.
SI MatchInteractions that were not strictly correct but had a correct semantic interpretation — for example, the Engine returns "yeah" when the speaker said "yes" but both share the same semantic value. SI Matches are not counted as incorrect and are counted as correct when calculating Utterance Accuracy.
OOG (Out of Grammar)Interactions where the speaker said a word or phrase not represented in the active grammars. The Engine has no way of returning a correct result.
OOC (Out of Coverage)Interactions you would never expect a speech application to handle — background noise, cross-talk, wildly inappropriate phrases. OOC differs from OOG in that OOG inputs are things the application could conceivably handle if the grammar were extended.
Correct No-InputNo-Input interactions correctly classified as having no human speech. Indicates Voice Activity Detection (VAD) is working as intended.
False No-InputNo-Input interactions where speech was present but VAD failed to detect it. Tune VAD settings if this is significant in your environment.
Average ConfidenceMean confidence score across all interactions in the set.

Grammars and Phrase Lists

For an ASR or Enhanced Transcription set, the Grammars page lists every grammar referenced by the included interactions. Select Grammar Tester to open the grammar in the in-portal editor where you can modify and re-test it.

For a Transcription set, the Phrase Lists page shows the phrase lists used by interactions in the set.

Transcribing an ASR or Transcription Analysis Set

Transcripts are required to calculate the accuracy statistics and populate the Word, Error, and OOG lists. The Transcribe page displays the loaded interactions at the top and an audio/transcription control panel at the bottom.

The Transcription text box pre-populates with what the ASR (or Engine) recognized. Edit it to match what the caller actually said. The most common keyboard flow:

  • Enter — Save the transcript and advance to the next interaction (equivalent to the green Save & Advance button).
  • Escape — Mark the interaction as Out-Of-Coverage (OOC) and advance (equivalent to the blue Mark as OOC & Ignore button). OOC interactions are excluded from accuracy statistics.
  • ~ (tilde) — Rewind/replay audio.
  • Left / Right arrows — Move between interactions.

Phrases not covered by the active grammar are automatically marked Out-Of-Grammar (OOG). You can use the OOG list to identify candidate phrases to add to grammar coverage.

Audio controls — A play button with rewind/advance controls in 5-second increments. Autoplay plays audio automatically when an interaction is selected. Decoded View overlays the recognized text on the audio timeline.

Interaction navigation — Use the previous/next controls beside the interaction entries, or type an index number to jump directly. The left/right arrow keys also navigate.

Noise Marker Toolbar — A row of buttons inserts inline tags into the transcript denoting general noise, "Uh"/"Um" filler sounds, garbage audio, and other markers.

No-Input Tuning

A no-input event occurs when the ASR is asked to perform recognition but no audio is detected within the configured timeout. Excessive no-inputs frustrate users (the application appears not to hear them); too few may mean VAD is over-sensitive to background noise.

When transcribing a no-input interaction, two extra buttons appear:

  • Correct No-Input (green) — You agree the ASR correctly identified silence.
  • False No-Input (red) — Speech was present and VAD missed it. Tune VAD settings to improve sensitivity.

"Barge-in" describes the case where a user speaks over a playing prompt; reliable barge-in depends on VAD recognizing that speech is present.

Transcribing a CPA Analysis Set

For CPA interactions, the transcriber presents response buttons rather than a text field. Click the option that matches the audio: Human Residence, Human Business, Unknown Silence, or Unknown Speech/Recorded Message. The chosen result is saved as the Transcribed Result and feeds into the Status, Errors, and Stats. Audio controls and interaction navigation match the ASR transcriber.

Transcribing an AMD Analysis Set

For AMD interactions, click the option that matches the audio: Beep, FAX, SIT, Busy, or No Input. As with CPA, the choice is saved as the Transcribed Result and used in downstream statistics.

Interaction Status Color Key

Interactions are color-coded in the list and transcriber to reflect their classification:

  • No transcript — light grey-blue
  • Correct — green
  • Incorrect — pink
  • OOG (Out of Grammar) — magenta
  • OOC (Out of Coverage) — blue
  • SI Match — yellow
  • Failure — orange
  • No-Input — light grey-blue
  • Correct No-Input — dark green
  • False No-Input — dark red

Tools

The Tools section provides in-browser testers for validating platform behavior without leaving the portal. All three call the same underlying APIs that production traffic uses.

Grammar Tester

The Grammar Tester runs grammar parses against the platform's ASR engine, allowing you to submit text and observe how it would be recognized given a loaded grammar. This emulates the recognition result without requiring an audio submission.

Key features:

  • DTMF grammars — Separate digits with spaces when testing (e.g. 1 2 3 4).
  • File upload — Load a grammar from your local system into the editor.
  • File save — Save the current editor content back to your local system.
  • Live editing — Modify the grammar in the editor and re-test immediately.

TTS Tester

The TTS Tester exercises text-to-speech synthesis against any of the deployment's legacy or neural voices.

  • Text mode — Enter plain text and choose a voice and language. Optionally adjust prosody (rate, pitch, volume).
  • SSML mode — Submit Speech Synthesis Markup Language for fine-grained control over pronunciation and delivery. Use the file upload control to load an SSML file from your local system.
  • Audio format and sample rate — Choose the output format and sample rate in kHz. Note: ulaw and alaw formats are fixed at 8 kHz.
  • Processing Timeout — Maximum milliseconds to wait for the synthesis request to complete.
  • Save File — Download the synthesized audio for further use.

Neuron Tester

The Neuron Tester validates configured Neuron models. Select a model from the deployment's registered list, submit input, and review the response. Use this to verify a model is reachable and producing expected output before promoting changes upstream.

Post-Processing

Post-processing profiles transform recognition output (for example, normalizing spoken digits to numeric strings, redacting PII, or applying custom replacements) before results are returned to the caller. The Post-Processing page lets you:

  • List existing profiles.
  • Create a new profile from scratch.
  • Edit an existing profile.
  • Delete profiles that are no longer needed.


Access Control

Some implementations grant cluster administrators access to both portals; others restrict the role to the Admin Portal only. Firewall rules and hostname whitelisting using the format ingress_host_name.client_hostname_suffix let IT teams control access at the network edge.

Example hostnames:

  • admin-portal.testmachine.com
  • deployment-portal.testmachine.com

The two portals are exposed on separate, configurable ports to simplify firewall and access configuration. When access is kept separate, cluster administrators manage only deployment existence and metadata while tenant administrators have access to the data the deployment generates — configuration data and interaction data.

Self-Signed Certificates

If you are using self-signed certificates, additional steps are required to view the portal from your desktop browser. See Configuring Self-Signed Certificates for instructions.


Deployment Management via API

Every function exposed through the Admin Portal and Deployment Portal is also available programmatically. The Management API (REST) handles deployment lifecycle and configuration; the Reporting API (gRPC) handles diagnostics, analysis sets, and interaction data; and the LumenVox API (gRPC) handles speech interactions (used by Grammar Tester, TTS Tester, and Neuron Tester behind the scenes).

Full reference documentation is at developer.lumenvox.com. The table below maps portal functions to the API operations that implement them.

PortalFunctionFeatureAPI SetAPI
Admin PortalDeployment setup / managementOpen Admin Portal — retrieve all deploymentsManagement API (REST)Management/Deployment/AllDeployments
Admin PortalDeployment setup / managementCreate deploymentManagement API (REST)Management/Deployment/Add
Admin PortalDeployment setup / managementEdit deployment metadata (name, description)Management API (REST)Management/Deployment/Metadata/Set
Admin PortalDeployment setup / managementRetrieve deployment metadataManagement API (REST)Management/Deployment/Metadata/Get
Admin PortalDeployment setup / managementRetrieve full deployment (connection strings, certificates)Management API (REST)Management/Deployment/Get
Admin PortalDeployment setup / managementUpdate deployment (connection strings, certificates)Management API (REST)Management/Deployment/Update
Admin PortalDeployment setup / managementDelete a deploymentManagement API (REST)Management/Deployment/Delete
Admin PortalDeployment setup / managementList deleted deploymentsManagement API (REST)Management/Deployment/AllDeletedDeployments
Admin PortalDeployment setup / managementRestore a deleted deploymentManagement API (REST)Management/Deployment/Restore
Admin PortalDeployment setup / managementPermanently purge a deleted deploymentManagement API (REST)Management/Deployment/PermanentlyDelete
Admin PortalDeployment setup / managementImport / Export / Clone deploymentManagement API (REST)Composed in the portal from Management/Deployment/Get and Management/Deployment/Add
Admin PortalDeployment setup / managementManage certificatesManagement API (REST)Managed via Management/Deployment/Update
Admin PortalDeployment setup / managementDeployment license statusManagement API (REST)Management/Deployment/LicenseStatus
Admin PortalAdmin SettingsFile store policy (read-only, quota)Management API (REST)Verify endpoint with engineering — managed via the deployment's Admin Settings
Admin PortalAdmin SettingsRegister custom Neuron / acoustic / language models, custom TTS voicesManagement API (REST)Verify endpoint with Capacity
BothDiagnosticsDiagnostics check — MongoDB, Redis, PostgreSQL, RabbitMQReporting APIDiagnosticsCheckRequest
BothDiagnosticsDiagnostics check — ASR/TTS interactionLumenVox APISimple ASR/TTS calls using dummy data; clients can replicate
BothConfigurationRetrieve / update speech configurationManagement API (REST)Management/ConfigurationSettings/SpeechConfiguration
Deployment PortalFile StoreList / upload / delete files; manage foldersManagement API (REST)Verify endpoint with Capacity 
Deployment PortalToolsGrammar TesterLumenVox APIInteractionCreateGrammarParseRequest
Deployment PortalToolsTTS Tester (text and SSML modes)LumenVox APIInteractionCreateTtsRequest
Deployment PortalToolsNeuron TesterLumenVox APIVerify endpoint with Capacity 
Deployment PortalPost-ProcessingList / create / edit / delete post-processing profilesManagement API (REST)Verify endpoint with Capacity 
Deployment PortalAnalysisList analysis sets (with ordering and filtering)Reporting APIAnalysisSetListRequest
Deployment PortalAnalysisPre-create sizing check before creating an analysis setReporting APIAnalysisSetPreCreateRequest
Deployment PortalAnalysisCreate an analysis setReporting APIAnalysisSetCreateRequest
Deployment PortalAnalysisDelete an analysis setReporting APIAnalysisSetDeleteRequest
Deployment PortalAnalysisImport / Export analysis setReporting APIImportAnalysisSetRequest / ExportAnalysisSetRequest
Deployment PortalAnalysisRetrieve analysis set metadataReporting APIAnalysisSetGetRequest
Deployment PortalAnalysisList interactions in a set (with filtering)Reporting APIInteractionAnalysisListRequest
Deployment PortalAnalysisRetrieve interaction detail (transcription, errors, grammar, audio, settings)Reporting APIInteractionAnalysisGetRequest
Deployment PortalAnalysisSubmit human transcription / feedbackReporting APIInteractionAnalysisUpdateTranscriptionRequest
Deployment PortalAnalysisStatistics and report listsReporting APICalculated in the portal from InteractionAnalysisGetRequest data

Related Articles


Was this article helpful?