Skip to content

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:

Authorization: Bearer <access-token>

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.
ProblemDetails
{
  "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"
}