Skip to content

HTTP API / Assistant

Assistant API ​

5 operations. Paths are relative to the API host (http://localhost:5080 in local development). Every operation accepts an OIDC bearer token (Authorization: Bearer …) or a workspace API key (X-Api-Key: keel_live_…); errors are RFC 9457 Problem Details with a code (error codes). Permissions: matrix.

MethodPathSummary
GET/api/v1/workspaces/{workspaceId}/assistant/conversationsYour conversations in this workspace, most recent first.
GET/api/v1/workspaces/{workspaceId}/assistant/conversations/{conversationId}One of your conversations: questions, answers, citations and tool calls (result rows are not stored).
DELETE/api/v1/workspaces/{workspaceId}/assistant/conversations/{conversationId}Delete one of your conversations.
POST/api/v1/workspaces/{workspaceId}/assistant/conversations/{conversationId}/turns/{turnId}:propose-metricDraft the answer's proposed metric in a change request (EditModels): a branch, a commit and an open change request.
POST/api/v1/workspaces/{workspaceId}/assistant/messagesAsk a question: the assistant answers through the semantic tools (no SQL), citing the metrics it used.

ListAssistantConversations ​

http
GET /api/v1/workspaces/{workspaceId}/assistant/conversations

Your conversations in this workspace, most recent first.

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes
StatusDescriptionBody
200OKAssistantConversationSummaryDto[]

GetAssistantConversation ​

http
GET /api/v1/workspaces/{workspaceId}/assistant/conversations/{conversationId}

One of your conversations: questions, answers, citations and tool calls (result rows are not stored).

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes
conversationIdpathuuidyes
StatusDescriptionBody
200OKAssistantConversationDto

Response 200: AssistantConversationDto

FieldTypeNotes
createdAtdate-time
iduuid
lastActivityAtdate-time
modelIduuid
titlestring
turnsAssistantTurnDto[]

DeleteAssistantConversation ​

http
DELETE /api/v1/workspaces/{workspaceId}/assistant/conversations/{conversationId}

Delete one of your conversations.

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes
conversationIdpathuuidyes
StatusDescriptionBody
204No Content—

ProposeAssistantMetric ​

http
POST /api/v1/workspaces/{workspaceId}/assistant/conversations/{conversationId}/turns/{turnId}:propose-metric

Draft the answer's proposed metric in a change request (EditModels): a branch, a commit and an open change request.

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes
conversationIdpathuuidyes
turnIdpathuuidyes
StatusDescriptionBody
200OKMetricDraftedDto
422Unprocessable EntityProblemDetails

Response 200: MetricDraftedDto

FieldTypeNotes
branchstring
modelIduuid
numberint32

AskAssistant ​

http
POST /api/v1/workspaces/{workspaceId}/assistant/messages

Ask a question: the assistant answers through the semantic tools (no SQL), citing the metrics it used.

ParameterInTypeRequiredNotes
workspaceIdpathuuidyes

Request body (application/json): AssistantMessageRequest

FieldTypeNotes
conversationIduuid?Continue a conversation; omit to start one.
modelIduuid?New conversations: the model to ask about (default: the workspace's first released model).
textstring
StatusDescriptionBody
200OKAssistantReplyDto
422Unprocessable EntityProblemDetails

Response 200: AssistantReplyDto

FieldTypeNotes
conversationIduuid
modelIduuid
turnAssistantTurnDto

Anchor Keel is a working product name: one platform, a shared core and licensed modules (Keel Semantic, Keel Migrate). Documentation built from the repository — facts are derived from code, ADRs and the decisions log.