The chat endpoints let you send messages to Sherpa and receive answers grounded in your registered document worlds. You can trigger retrieval-augmented generation by settingDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/tudoumono/Sherpa/llms.txt
Use this file to discover all available pages before exploring further.
knowledge: true, narrow the search to specific subfolders with scope_paths, and optionally include your personal workspace files with personal: true. Conversation history is persisted automatically and can be listed, renamed, pinned, or deleted through the conversation management endpoints.
POST /chat
POST/chat
Submit a message and receive a complete answer envelope synchronously. When knowledge is false (the default) the request is answered without consulting the knowledge base. Set knowledge: true to enable retrieval from the specified world.
Request body
The user’s question or statement.
World identifier (the registered document folder). Must match the pattern
^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$.ID of an existing conversation to continue. Omit to start a new conversation. You cannot append to a received-share conversation (read-only).
When
true, Sherpa retrieves context from the world’s knowledge base (Elasticsearch + Neo4j) before answering. When false, the LLM answers from session context only.List of subfolder path prefixes within the world to restrict retrieval to. An empty list searches the entire world. Unknown or malformed paths return
422.When
true, includes matches from the current user’s personal workspace files in the answer sources. Personal files are never indexed in the shared knowledge base.Response
The primary answer text.
The reasoning lens used:
impact, troubleshoot, or qa.Routing decision metadata.
The scope that was actually searched.
Documents cited in the answer.
ID of the conversation this turn belongs to (new or existing).
Hits from the user’s personal workspace files, present only when
personal: true produced results. Each entry includes rel_path, line, and text.GET /chat/stream
GET/chat/stream
Stream the thinking process and final answer as Server-Sent Events (SSE). This endpoint accepts the same parameters as POST /chat but as query-string arguments and returns text/event-stream.
Query parameters
The user’s question.
World identifier.
Existing conversation ID to continue.
Enable knowledge base retrieval.
Repeated query parameter — e.g.
?scope_paths=src/tax&scope_paths=common.Include personal workspace grep results.
SSE event types
Each event is a JSON object delivered asdata: <json>\n\n. The following type values are emitted:
type | Description |
|---|---|
node | A thinking-step update. Contains id, kind (think or tool), label, detail, and status (active or done). |
answer_delta | A streaming text chunk of the answer. Contains text. |
answer | Final answer event. Contains conversation_id and message (full answer envelope). |
The
answer_delta events allow progressive rendering of the response. The final answer event always contains the complete envelope including sources and routing metadata.GET /conversations
GET/conversations
Return a list of all conversations owned by (or shared with) the current user.
Response
Array of conversation summaries. Each item includes
id, title, created_at, updated_at, pinned, and origin (own or received_share).GET /conversations/
GET/conversations/{cid}
Retrieve a single conversation including its full message history.
Path parameters
Conversation ID.
Response
Conversation metadata:
id, title, origin, pinned, created_at.Ordered list of turns. Each turn contains
role (user or assistant), content, and created_at.DELETE /conversations/
DELETE/conversations/{cid}
Delete a conversation. Both owned conversations and received-share wrapper conversations may be deleted.
Path parameters
Conversation ID to delete.
Response
true on success.ID of the deleted conversation.
PATCH /conversations/
PATCH/conversations/{cid}
Rename a conversation. Only the owning user can rename; received-share conversations return 403.
Path parameters
Conversation ID.
Request body
New title. Whitespace is trimmed; maximum 120 characters after trimming.
Response
true on success.Conversation ID.
The saved title (trimmed).
POST /conversations//pin
POST/conversations/{cid}/pin
Pin or unpin a conversation. Works for both owned conversations and received-share wrappers.
Path parameters
Conversation ID.
Request body
true to pin, false to unpin.Response
true on success.Conversation ID.
The new pinned state.
POST /troubleshoot/run
POST/troubleshoot/run
Run the troubleshoot lens directly for a given symptom description. This is a focused single-shot call that bypasses conversation history and returns a structured diagnostic answer grounded in the world’s knowledge base.
Request body
A description of the system behaviour or error to diagnose (e.g. “CALC-TAX returns wrong result for overtime employees”).
World identifier (the registered document folder). Must match
^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$.List of subfolder path prefixes within the world to restrict retrieval to. Unknown or malformed paths return
422.Response
The response shape is determined bylens_service.run_troubleshoot() and includes a diagnostic answer with supporting evidence from the knowledge base.
POST /qa/run
POST/qa/run
Run the Q&A lens directly for a given question. This is a focused single-shot call that bypasses conversation history and returns a precise answer grounded in the world’s full-text index and knowledge base.
Request body
The question to answer from the world’s documents (e.g. “What is the purpose of the WS-TAX-RATE field?”).
World identifier (the registered document folder). Must match
^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$.List of subfolder path prefixes within the world to restrict retrieval to. Unknown or malformed paths return
422.Response
The response shape is determined bylens_service.run_qa() and includes the answer with source citations from the knowledge base.