Desktop Services
Desktop Services exposes real-time recognition together with the signed-in user's identity, preferences, assigned recognition presets, session history, recordings, summaries, and context-enrichment capabilities.
Internal API
The Desktop API is internal and must not be used for customer integrations. Compatibility is not guaranteed, and these endpoints may change without notice.
Authentication and ownership
Every Desktop Services operation requires an OAuth2 access token with the desktop:app:use scope. Prompt-template endpoints also require the additional scope shown with each operation.
REST requests send the token in the Authorization header:
The speech recognition WebSocket sends the same token in its first text message so it can be used from a browser.
Resources are always resolved for the authenticated user and current tenant. A session, recording, or summary that does not exist or belongs to another user returns 404 Not Found.
Endpoint index
| Area | Method | Endpoint | Description |
|---|---|---|---|
| Identity | GET |
/api/v1/desktop-services/self |
Get the current user |
| Preferences | GET |
/api/v1/desktop/self/preferences |
Get preferences |
| Preferences | PUT |
/api/v1/desktop/self/preferences |
Update preferences |
| Presets | GET |
/api/v1/desktop-services/presets |
List assigned presets |
| Presets | GET |
/api/v1/desktop-services/presets/{presetName} |
Get an assigned preset |
| Recognition | WebSocket |
/api/v1/desktop-services/speech-recognition |
Stream speech recognition |
| Prompt templates | GET |
/api/v1/desktop-services/summary-prompt-templates |
List assigned templates |
| Prompt templates | PATCH |
/api/v1/desktop-services/summary-prompt-templates/{templateId}/assignment |
Update an assignment |
| Sessions | GET |
/api/v1/desktop-services/sessions |
List sessions |
| Sessions | GET |
/api/v1/desktop-services/sessions/{sessionId} |
Get a session |
| Sessions | GET |
/api/v1/desktop-services/sessions/{sessionId}/results |
Get transcript results |
| Sessions | PATCH |
/api/v1/desktop-services/sessions/{sessionId} |
Rename a session |
| Sessions | DELETE |
/api/v1/desktop-services/sessions/{sessionId} |
Permanently delete a session |
| Recordings | GET |
/api/v1/desktop-services/sessions/{sessionId}/recording |
Download a recording |
| Session summaries | POST |
/api/v1/desktop-services/sessions/{sessionId}/summaries |
Create a session summary |
| Session summaries | GET |
/api/v1/desktop-services/sessions/{sessionId}/summaries |
List session summaries |
| Session summaries | GET |
/api/v1/desktop-services/sessions/{sessionId}/summaries/latest |
Get the latest summary |
| Session summaries | GET |
/api/v1/desktop-services/sessions/{sessionId}/summaries/{summaryId} |
Get a summary |
| Session summaries | POST |
/api/v1/desktop-services/summary-status-queries |
Query summary statuses |
| Text summaries | POST |
/api/v1/desktop-services/text-summaries |
Summarize entered text |
| Summary context | GET |
/api/v1/desktop-services/summary-context-plugins |
List context plugins |
Prompt templates
Summary creation accepts the UUID of a prompt template available to the current user. Use List Assigned Templates to discover template UUIDs.
Feature availability
An installation can disable session history or AI summary features. When a requested Desktop feature is unavailable, its operation returns 403 Forbidden. Applications should hide or disable unavailable actions using the site capabilities returned by GET /api/v1/global/siteproperties:
| Capability | Controls |
|---|---|
sessionHistory |
Session list, session details, results, recordings, rename, delete, and access to existing session summaries. |
sessionHistorySummary |
Creation of new session summaries. |
aiSimpleTextSummary |
Summary generation from manually entered text. |
summaryContextEnrichment |
Whether List Context Plugins can return optional context fields. |
Error response
Error responses use application/problem+json.
ProblemDetails
| Field | Type | Nullable | Description |
|---|---|---|---|
type |
string (URI) |
No | Error type. Defaults to about:blank when no more specific type is available. |
title |
string |
No | HTTP status title. |
status |
integer |
No | HTTP status code. |
detail |
string |
Yes | Human-readable error detail. |
instance |
string (URI) |
Yes | Request path that produced the error. |
requestId |
string |
Yes | Request identifier for support and log correlation. Present when one was assigned to the request. |
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"detail": "Desktop Services session not found",
"instance": "/api/v1/desktop-services/sessions/3f13e99a-5f5c-4b50-bf02-f9fb45d74cd2",
"requestId": "c2e45d8f1f834caf"
}