Administration - Translation Models and Aliases
Configure Text Services inference models and tenant aliases. Clients discover aliases through Translation Models. Standard API request rate limits apply; model management does not consume translation execution admissions.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/text-services/admin/translation-models |
List Translation Models |
GET |
/api/v1/text-services/admin/translation-models/{name} |
Get Translation Model |
POST |
/api/v1/text-services/admin/translation-models |
Register Translation Model |
PUT |
/api/v1/text-services/admin/translation-models/{name} |
Update Translation Model |
PATCH |
/api/v1/text-services/admin/translation-models/{name}/status |
Update Translation Model Status |
DELETE |
/api/v1/text-services/admin/translation-models/{name} |
Delete Translation Model |
GET |
/api/v1/text-services/admin/translation-model-aliases |
List Translation Model Aliases |
PUT |
/api/v1/text-services/admin/translation-model-aliases/{alias} |
Create or Update Translation Model Alias |
PUT |
/api/v1/text-services/admin/translation-model-aliases/{alias}/resolve |
Update Translation Model Alias Resolution |
PUT |
/api/v1/text-services/admin/translation-model-aliases/{alias}/deprecate |
Deprecate Translation Model Alias |
PUT |
/api/v1/text-services/admin/translation-model-aliases/{alias}/undeprecate |
Undeprecate Translation Model Alias |
DELETE |
/api/v1/text-services/admin/translation-model-aliases/{alias} |
Delete Translation Model Alias |
List Translation Models
GET /api/v1/text-services/admin/translation-models
Requires Authentication - Scopes: admin:translation-models:read
Pagination: page=0, size=20 (1–100), sort=name,asc, optional query. Response: models, size, total, page, filters, sort.
AdminTranslationModelListResponse
| Status | Description |
|---|---|
200 OK |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Get Translation Model
GET /api/v1/text-services/admin/translation-models/{name}
Requires Authentication - Scopes: admin:translation-models:read
Get a concrete model configuration. gRPC metadata is never returned.
AdminTranslationModelResponse
| Status | Description |
|---|---|
200 OK |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Register Translation Model
POST /api/v1/text-services/admin/translation-models
Requires Authentication - Scopes: admin:translation-models:write
Register an immutable unique name and the configuration below. Returns 201 Created and Location. New models start INACTIVE; activate after verifying the configured server.
RegisterTranslationModelRequest
AdminTranslationModelResponse
| Status | Description |
|---|---|
201 Created |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Update Translation Model
PUT /api/v1/text-services/admin/translation-models/{name}
Requires Authentication - Scopes: admin:translation-models:write
Replace model configuration using the fields below, excluding name. Omitted grpcMetadata preserves credentials; {} clears them. Accepted jobs retain their resolved model name.
UpdateTranslationModelRequest
AdminTranslationModelResponse
| Status | Description |
|---|---|
200 OK |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Update Translation Model Status
PATCH /api/v1/text-services/admin/translation-models/{name}/status
Requires Authentication - Scopes: admin:translation-models:write
Body: required status (AVAILABLE, DEPRECATED, MAINTENANCE, INACTIVE) and optional statusMessage.
UpdateTranslationModelStatusRequest
AdminTranslationModelResponse
| Status | Description |
|---|---|
200 OK |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Delete Translation Model
DELETE /api/v1/text-services/admin/translation-models/{name}
Requires Authentication - Scopes: admin:translation-models:delete
Delete an unreferenced model. Aliases and translation jobs prevent deletion (409).
| Status | Description |
|---|---|
204 No Content |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
List Translation Model Aliases
GET /api/v1/text-services/admin/translation-model-aliases
Requires Authentication - Scopes: admin:translation-model-aliases:write
TranslationModelAliasListResponse
| Status | Description |
|---|---|
200 OK |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Create or Update Translation Model Alias
PUT /api/v1/text-services/admin/translation-model-aliases/{alias}
Requires Authentication - Scopes: admin:translation-model-aliases:write
Set type, display name, concrete resolution, optional fallback/default and role visibility. A tenant has at most one default alias.
CreateUpdateTranslationAliasRequest
TranslationModelAliasResponse
| Status | Description |
|---|---|
200 OK |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Update Translation Model Alias Resolution
PUT /api/v1/text-services/admin/translation-model-aliases/{alias}/resolve
Requires Authentication - Scopes: admin:translation-model-aliases:write
Body: required resolvedModel, optional fallbackModel. The change applies to future jobs.
UpdateTranslationAliasResolutionRequest
TranslationModelAliasResponse
| Status | Description |
|---|---|
200 OK |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Deprecate Translation Model Alias
PUT /api/v1/text-services/admin/translation-model-aliases/{alias}/deprecate
Requires Authentication - Scopes: admin:translation-model-aliases:write
Body: optional ISO 8601 deprecationDate, sunsetDate, and migration message. Public resolution returns 410 after sunset.
DeprecateTranslationAliasRequest
TranslationModelAliasResponse
| Status | Description |
|---|---|
200 OK |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Undeprecate Translation Model Alias
PUT /api/v1/text-services/admin/translation-model-aliases/{alias}/undeprecate
Requires Authentication - Scopes: admin:translation-model-aliases:write
Remove deprecation and sunset metadata. No request body.
TranslationModelAliasResponse
| Status | Description |
|---|---|
200 OK |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Delete Translation Model Alias
DELETE /api/v1/text-services/admin/translation-model-aliases/{alias}
Requires Authentication - Scopes: admin:translation-model-aliases:delete
Remove this alias. Accepted jobs retain their already resolved concrete model.
| Status | Description |
|---|---|
204 No Content |
Operation completed. |
400 Bad Request |
Invalid request or pagination. |
403 Forbidden |
Insufficient scope. |
404 Not Found |
Referenced model or alias missing. |
409 Conflict |
Duplicate or referenced model, or conflicting default alias. |
Data Types
Translation Model Configuration
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
On registration | Immutable unique name, 1–128 letters/digits/dot/underscore/hyphen; starts with letter/digit. |
displayName |
string |
Yes | Up to 256 characters. |
description |
string |
No | Human-readable description. |
supportedLanguagePairs |
TranslationLanguagePair[] |
Yes | Nonempty source/target BCP 47 pairs. |
tokenizerId |
string |
No | unicode-codepoint-v1. |
maxInputTokens |
integer |
No | Positive limit; default 1,000,000. |
grpcTarget |
string |
Yes | Inference endpoint, maximum 512 characters. |
grpcTlsMode |
string |
No | PLAINTEXT (default) or SYSTEM_TRUST. |
grpcAuthority |
string |
No | Optional TLS authority. |
grpcDeadlineMs |
integer |
No | Positive RPC deadline, default 1,800,000 ms (30 minutes). |
grpcMaxInboundMessageBytes |
integer |
No | Positive inbound message limit. |
grpcMetadata |
object |
No | Write-only headers; omitted preserves existing metadata, {} clears it. |
AdminTranslationModelResponse returns this configuration without credentials, plus status, status message, creation/update timestamps and deprecation/inactivation timestamps.
CreateUpdateTranslationAliasRequest
| Field | Type | Required | Description |
|---|---|---|---|
type |
string |
Yes | FAMILY, PINNED, or CONCRETE. |
displayName |
string |
Yes | Human-readable name. |
description |
string |
No | Description. |
resolvedModel |
string |
Yes | Concrete model name. |
fallbackModel |
string |
No | Model used if the primary is unavailable at admission. |
isDefault |
boolean |
No | Make this the tenant default. |
minHierarchyOrder |
integer |
No | Minimum role hierarchy; zero permits all authenticated roles. |