Conversations are the top-level resource in LLM Council. Every exchange between a user and the council lives inside a conversation, which persists to disk as a JSON file in the backend’s data directory. Before sending any messages you must first create a conversation to obtain aDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/karpathy/llm-council/llms.txt
Use this file to discover all available pages before exploring further.
conversation_id. The three endpoints below cover the full lifecycle: creating a session, browsing all sessions, and loading a specific session with its complete message history.
List Conversations
GET /api/conversations returns metadata for every stored conversation, sorted newest first. No request body or query parameters are accepted.
Response
An array of conversation metadata objects. Full message content is omitted from this endpoint — useGET /api/conversations/{conversation_id} to load messages.
UUID that uniquely identifies the conversation. Use this value as
conversation_id in all subsequent requests.ISO 8601 datetime string (UTC) recording when the conversation was created, e.g.
"2024-01-15T10:30:00".Human-readable title. Defaults to
"New Conversation" and is replaced with an auto-generated title after the first message is sent.Total number of messages in the conversation (both user and assistant turns).
Create a Conversation
POST /api/conversations creates a new, empty conversation and returns the full conversation object. The request body must be a valid JSON object — an empty object {} is sufficient.
Request Body
No fields are required. Send an empty JSON object
{}.Response
UUID assigned to the new conversation. Store this value — it is required for all message endpoints.
ISO 8601 UTC datetime string recording the moment the conversation was created.
Always
"New Conversation" at creation time. Updated automatically after the first message.Empty array
[] — no messages have been sent yet.Get a Conversation
GET /api/conversations/{conversation_id} loads a single conversation with its complete message history, including all stage data from every council run.
Path Parameters
The UUID of the conversation to retrieve, as returned by
POST /api/conversations or GET /api/conversations.Response
The conversation UUID.
ISO 8601 UTC datetime string.
Current conversation title. Updated from
"New Conversation" after the first message is processed.Full list of messages. User messages contain
role and content. Assistant messages contain role, stage1, stage2, and stage3.Errors
| Status | Description |
|---|---|
404 | No conversation with the given conversation_id exists on disk. |
The
label_to_model mapping and aggregate_rankings list are not stored in the conversation file — they are ephemeral values computed at request time and returned only by the message endpoints. To see them, call POST /api/conversations/{id}/message or inspect the stage2_complete SSE event from the streaming endpoint.