Skip to content

Administration - Sentence Verification Models

Configure sentence verification (sentver) model clients and aliases. Sentver models are Speech Services sentence-verification resources, separate from transcription models, and are currently used by Speaker Services enrollment and verification pipelines.

Base path: /api/v1/speech-services/admin

Method Endpoint Description
GET /api/v1/speech-services/admin/sentence-verification/models List Sentver Models
POST /api/v1/speech-services/admin/sentence-verification/models Register Sentver Model
PUT /api/v1/speech-services/admin/sentence-verification/models/{name} Update Sentver Model
PATCH /api/v1/speech-services/admin/sentence-verification/models/{name}/status Update Sentver Model Status
DELETE /api/v1/speech-services/admin/sentence-verification/models/{name} Delete Sentver Model
GET /api/v1/speech-services/admin/sentence-verification/model-aliases List Sentver Model Aliases
PUT /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias} Create or Update Sentver Model Alias
PUT /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias}/resolve Update Sentver Alias Resolution
PUT /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias}/deprecate Deprecate Sentver Model Alias
PUT /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias}/undeprecate Undeprecate Sentver Model Alias
DELETE /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias} Delete Sentver Model Alias

List Sentver Models

GET /api/v1/speech-services/admin/sentence-verification/models

Requires Authentication - Scopes: admin:sentver-models:write

Returns concrete sentver model client configurations for the tenant.


Register Sentver Model

POST /api/v1/speech-services/admin/sentence-verification/models

Requires Authentication - Scopes: admin:sentver-models:write

Registers a concrete sentver model client. Newly registered models start as INACTIVE; use the status endpoint to make a model available. The name is immutable after creation and remains the concrete model identifier used by aliases and retained records.

Inference calls use round-robin load balancing. grpcTarget accepts a single host:port, dns:///sentver-headless:443 for DNS discovery, an unprefixed list such as server-a:2222,server-b:2222, or the preferred explicit form static:///server-a:2222,server-b:2222. Static lists have fixed membership; use DNS for dynamic membership. DNS targets are refreshed periodically even while another endpoint remains healthy. TLS endpoints must share a certificate identity or use the authority override.

SentverModelAdminRequest
Field Type Required Description
name string Yes Concrete sentver model/client identifier.
displayName string Yes Human-readable name.
description string No Optional description.
supportedLocales string[] Yes Supported BCP-47 locales.
maxExpectedTextLength integer No Maximum expected sentence length.
grpcTarget string Yes Single, DNS, or explicit static gRPC target.
grpcTlsMode GrpcTlsMode Yes TLS mode for the gRPC connection.
grpcAuthority string No Optional gRPC authority override.
grpcDeadlineMs integer No Request deadline/timeout in milliseconds.
grpcMaxInboundMessageBytes integer No Optional maximum inbound message size.
grpcMetadata object No Metadata sent with inference requests.
thresholdDefaults ModelThresholdDefaults No Per-mode threshold defaults. When omitted or null, global service defaults apply.
SentverModelAdminRequest
{
  "name": "sentver-he-v2",
  "displayName": "Hebrew Sentence Verification v2",
  "description": "Hebrew sentence verification model client",
  "supportedLocales": ["he-IL"],
  "maxExpectedTextLength": 500,
  "grpcTarget": "dns:///sentver-prod:443",
  "grpcTlsMode": "SYSTEM_TRUST",
  "grpcAuthority": "sentver-prod",
  "grpcDeadlineMs": 10000,
  "grpcMaxInboundMessageBytes": 4194304,
  "grpcMetadata": {
    "x-client": "speaker-services"
  }
}

Update Sentver Model

PUT /api/v1/speech-services/admin/sentence-verification/models/{name}

Requires Authentication - Scopes: admin:sentver-models:write

Replaces editable configuration for an existing concrete sentver model. Required fields must be supplied. Nullable fields may be supplied, omitted, or set to null; omitted nullable fields are cleared.

This endpoint is for configuration fixes such as display text, locale coverage, timeout values, and inference server connection settings. It does not change which concrete model an alias resolves to.

name is immutable and is not accepted in the request body. status is updated only through PATCH /models/{name}/status.

Path Parameters
Parameter Type Required Description
name string Yes Concrete sentver model identifier.
UpdateSentverModelRequest
Field Type Required Nullable Description
displayName string Yes No Human-readable name.
description string No Yes Optional description. Omit or set to null to clear.
supportedLocales string[] Yes No Supported BCP-47 locales. Must be non-empty.
maxExpectedTextLength integer No Yes Maximum expected sentence length. Omit or set to null to clear.
grpcTarget string Yes No Single, DNS, or explicit static gRPC target.
grpcTlsMode GrpcTlsMode Yes No TLS mode for the gRPC connection.
grpcAuthority string No Yes Optional gRPC authority override. Omit or set to null to clear.
grpcDeadlineMs integer Yes No Request deadline/timeout in milliseconds. Must be positive.
grpcMaxInboundMessageBytes integer No Yes Optional maximum inbound message size. Omit or set to null to clear.
grpcMetadata object No Yes Metadata sent with inference requests. Omit or set to null to clear.
thresholdDefaults ModelThresholdDefaults No Yes Per-mode threshold defaults. Omit or set to null to clear (revert to global service defaults).
UpdateSentverModelRequest
{
  "displayName": "Hebrew Sentence Verification v2.1",
  "description": "Hebrew sentence verification model client",
  "supportedLocales": ["he-IL"],
  "grpcTarget": "dns:///sentver-prod-v2:443",
  "grpcTlsMode": "SYSTEM_TRUST",
  "grpcAuthority": "sentver-prod",
  "grpcDeadlineMs": 12000
}
Clear optional fields by omission
{
  "displayName": "Hebrew Sentence Verification v2.1",
  "supportedLocales": ["he-IL"],
  "grpcTarget": "dns:///sentver-prod-v2:443",
  "grpcTlsMode": "SYSTEM_TRUST",
  "grpcDeadlineMs": 12000
}
Status Description
200 OK Model configuration updated.
400 Bad Request Request body is invalid or omits a required field.
401 Unauthorized Missing or invalid authentication.
403 Forbidden Insufficient scope.
404 Not Found Model not found.

Update Sentver Model Status

PATCH /api/v1/speech-services/admin/sentence-verification/models/{name}/status

Requires Authentication - Scopes: admin:sentver-models:write

Updates concrete model availability. Use this endpoint for lifecycle changes such as promoting a model to AVAILABLE, putting it in MAINTENANCE, deprecating it, or making it INACTIVE.

Configuration fields such as displayName, supportedLocales, and gRPC settings are not accepted here. Use PUT /models/{name} for configuration updates.

Path Parameters
Parameter Type Required Description
name string Yes Concrete sentver model identifier.
UpdateSentverModelStatusRequest
Field Type Required Nullable Description
status SentverModelStatus Yes No New model status.
statusMessage string No Yes Optional operator-facing reason for the status change.
UpdateSentverModelStatusRequest
{
  "status": "AVAILABLE",
  "statusMessage": "Promoted after validation"
}
Status Description
200 OK Model status updated.
400 Bad Request Request body is invalid.
401 Unauthorized Missing or invalid authentication.
403 Forbidden Insufficient scope.
404 Not Found Model not found.

Delete Sentver Model

DELETE /api/v1/speech-services/admin/sentence-verification/models/{name}

Requires Authentication - Scopes: admin:sentver-models:delete

Deletes a concrete model only when no aliases or retained enrollment/verification records reference it.


Alias Management

List Sentver Model Aliases

GET /api/v1/speech-services/admin/sentence-verification/model-aliases

Requires Authentication - Scopes: admin:sentver-model-aliases:write

Returns all sentver aliases for the tenant.

Create or Update Sentver Model Alias

PUT /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias}

Requires Authentication - Scopes: admin:sentver-model-aliases:write

Creates or updates an alias. Exactly one sentver alias per tenant can be marked as default.

SentverModelAliasAdminRequest
Field Type Required Description
type string Yes Alias type: FAMILY, PINNED, or CONCRETE.
displayName string Yes Human-readable alias name.
description string No Optional alias description.
resolvedModel string Yes Primary concrete sentver model.
fallbackModel string No Optional fallback concrete model used when the primary model is unavailable.
isDefault boolean No Whether this is the tenant default sentver alias.
minHierarchyOrder integer No Minimum role hierarchy allowed to see this alias.

Update Sentver Alias Resolution

PUT /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias}/resolve

Requires Authentication - Scopes: admin:sentver-model-aliases:write

Changes the primary resolved model and optional fallback model. Existing enrollment and verification records keep their requested alias and actual resolved model lineage.

Deprecate Sentver Model Alias

PUT /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias}/deprecate

Requires Authentication - Scopes: admin:sentver-model-aliases:write

Marks an alias as deprecated and optionally sets a sunset time. After the sunset time, public requests reject the alias with 410 Gone.

DeprecateSentverAliasRequest
Field Type Required Description
deprecationDate string (ISO 8601 timestamp) No Timestamp when deprecation takes effect.
sunsetDate string (ISO 8601 timestamp) No Timestamp after which public requests reject the alias.
message string No Optional migration guidance for clients.

Undeprecate Sentver Model Alias

PUT /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias}/undeprecate

Requires Authentication - Scopes: admin:sentver-model-aliases:write

Removes the deprecated status from a sentver model alias, clearing the deprecation date, sunset date, and deprecation message. The alias becomes fully active again.

Path Parameters
Parameter Type Required Description
alias string Yes Alias identifier.

Delete Sentver Model Alias

DELETE /api/v1/speech-services/admin/sentence-verification/model-aliases/{alias}

Requires Authentication - Scopes: admin:sentver-model-aliases:delete

Deletes an alias. Existing retained records remain reproducible because they store both alias and resolved model metadata.


Data Types

ModelThresholdDefaults

Per-mode threshold defaults for a concrete sentver model. All fields are optional and nullable. A null field means "use the global service default" for that mode. Thresholds are floating-point values in the range [0.0, 1.0].

Field Type Nullable Description
strictAcceptThreshold number Yes Accept threshold for STRICT mode.
strictReviewThreshold number Yes Review threshold for STRICT mode.
balancedAcceptThreshold number Yes Accept threshold for BALANCED mode (default).
balancedReviewThreshold number Yes Review threshold for BALANCED mode.
lenientAcceptThreshold number Yes Accept threshold for LENIENT mode.
lenientReviewThreshold number Yes Review threshold for LENIENT mode.
ModelThresholdDefaults - example
{
  "strictAcceptThreshold": 0.88,
  "strictReviewThreshold": 0.78,
  "balancedAcceptThreshold": 0.72,
  "balancedReviewThreshold": 0.58,
  "lenientAcceptThreshold": 0.58,
  "lenientReviewThreshold": 0.42
}

GrpcTlsMode

Value Description
PLAINTEXT Connect without TLS. Use only for trusted private networks.
SYSTEM_TRUST Use TLS with the system trust store.
MTLS Use mutual TLS when configured for the deployment.

SentverModelStatus

Value Description
AVAILABLE Model can process sentence verification requests.
DEPRECATED Model remains usable while clients or aliases migrate away from it.
MAINTENANCE Model is temporarily unavailable. Alias fallback may be used when configured.
INACTIVE Model cannot process requests. Alias fallback may be used when configured.