Generate summaries from a Desktop Services session or from text entered directly by the user. Session summaries are asynchronous and remain attached to the session. Text summaries complete in the request and are not attached to a session.
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.
GET /api/v1/desktop-services/summary-context-plugins
Requires Authentication - Scopes: desktop:app:use
Return the supported context fields. Build additionalContext from the inputFields descriptors. The outputFields descriptors identify information that may appear in a summary's context audit.
{"items":[{"pluginId":"clinical-context","displayName":"Clinical context","description":"Adds clinical context to a summary","inputFields":[{"key":"patient_id","displayName":"Patient ID","description":"Patient identifier used for enrichment","required":true,"defaultValue":null,"type":"STRING","displayPolicy":"VISIBLE"}],"outputFields":[]}]}
Status
Description
200 OK
Catalog returned.
401 Unauthorized
Access token is missing or invalid.
403 Forbidden
Token does not include desktop:app:use.
Supplying Additional Context
Session-summary and text-summary requests accept an additionalContext JSON object whose property names match inputFields[].key. All values are JSON strings, including values described as integers or booleans.
Each value may contain at most 8,192 bytes when encoded as UTF-8.
Keys are case-sensitive, must be non-blank, and must be declared as input fields. transcript and transcription are reserved.
Values must not be null.
Output-field keys cannot be supplied.
INTEGER values must be valid signed whole numbers without surrounding whitespace.
BOOLEAN values accept true or false without case sensitivity.
For an active context source, omitted fields use defaultValue when defined; otherwise its fields marked required must be supplied.
If items is empty, omit additionalContext; supplied values have no effect.
Invalid context returns 400 Bad Request from the summary operation.
Create a Session Summary
POST /api/v1/desktop-services/sessions/{sessionId}/summaries
Requires Authentication - Scopes: desktop:app:use
Start summary generation for one owned session. The session must satisfy the installation's minimum transcript length. Only one REQUESTED summary can run for the same session and prompt template at a time.
Path Parameters
Parameter
Type
Required
Description
sessionId
string (UUID)
Yes
Session to summarize.
DesktopSummaryCreateRequest
Field
Type
Required
Description
promptTemplateId
string (UUID)
Yes
Prompt template available to the current user.
additionalContext
object<string, string>
No
Context fields declared by the context catalog. Default: empty object. Maximum: 32 fields and 8,192 UTF-8 bytes per value.
The response includes a Location header containing the new summary URL. Poll that URL or use Query Summary Statuses until the status is COMPLETED or FAILED.
Status
Description
202 Accepted
Summary request created.
400 Bad Request
Template, transcript length, or additional context is invalid.
401 Unauthorized
Access token is missing or invalid.
403 Forbidden
Scope is missing or session summaries are unavailable.
404 Not Found
Session or prompt template was not found for the current user.
409 Conflict
A summary using the same template is already running for this session.
List Session Summaries
GET /api/v1/desktop-services/sessions/{sessionId}/summaries
Requires Authentication - Scopes: desktop:app:use
Return summaries for one owned session, ordered newest first.
Path and Query Parameters
Parameter
Type
Required
Default
Description
sessionId
string (UUID)
Yes
-
Session identifier. (path)
promptTemplateId
string (UUID)
No
-
Return only requests created with this prompt template. (query)
latestPerPromptTemplate
boolean
No
false
Return only the newest request for each prompt template. Ignored when promptTemplateId is supplied. (query)
Scope is missing or session history is unavailable.
404 Not Found
Session or summary was not found for the current user.
500 Internal Server Error
The completed summary result could not be read.
Query Summary Statuses
POST /api/v1/desktop-services/summary-status-queries
Requires Authentication - Scopes: desktop:app:use
Query compact summary status information for as many as 100 sessions in one request. The response contains one entry for every requested session. An unknown or inaccessible session produces an empty summaries array.
Session queries. Maximum: 100. Entries must not be null; an empty array is allowed.
DesktopSessionSummaryStatusQuery
Field
Type
Required
Description
sessionId
string (UUID)
Yes
Session identifier.
summaryIds
string (UUID)[]
No
Specific summary requests to return. Maximum: 100 non-null UUIDs; unknown or inaccessible IDs are omitted. Omit, send null, or send an empty array to return the latest request for each prompt template. Default: empty array.
Body is malformed, a required value or UUID is invalid, more than 100 sessions were supplied, or one session contains more than 100 summary IDs.
401 Unauthorized
Access token is missing or invalid.
403 Forbidden
Scope is missing or session history is unavailable.
Summarize Entered Text
POST /api/v1/desktop-services/text-summaries
Requires Authentication - Scopes: desktop:app:use
Run a prompt template against manually entered text. The request waits for completion and returns the generated result. Set autoRemove to request immediate removal after processing; otherwise the installation's retention policy applies.
Context fields declared by the context catalog. Default: empty object. Maximum: 32 fields and 8,192 UTF-8 bytes per value.
autoRemove
boolean
No
When true, request removal of the input, output, and retained context immediately after processing. Default: false; the installation's retention policy applies.
DesktopTextSummaryRequest
{"promptTemplateId":"ea97bc12-b521-4b22-8f86-7b60b36ac529","inputText":"The patient reports improved mobility and no new pain.","title":"Follow-up note","additionalContext":{"patient_id":"123456"},"autoRemove":false}
curl-XPOSThttps://koldan.dixilang.com/api/v1/desktop-services/text-summaries\-H"Authorization: Bearer $ACCESS_TOKEN"\-H"Content-Type: application/json"\-d'{ "promptTemplateId": "ea97bc12-b521-4b22-8f86-7b60b36ac529", "inputText": "The patient reports improved mobility and no new pain.", "title": "Follow-up note", "additionalContext": {"patient_id": "123456"}, "autoRemove": false }'
Safe context-enrichment status and displayable values.
DesktopSummary
{"sessionId":"3f13e99a-5f5c-4b50-bf02-f9fb45d74cd2","id":"8ac77882-61bf-445c-b464-27dfb06f7808","promptTemplate":{"...":"..."},"status":"COMPLETED","createdAt":"2026-09-26T08:14:00Z","updatedAt":"2026-09-26T08:14:08Z","result":"The consultation covered current symptoms and next steps.","error":null,"contextAudit":{"...":"..."}}