Chat API Endpoints
DeepWikiOpen provides powerful chat capabilities with streaming responses, deep research mode, conversation management, and real-time WebSocket connections.Authentication
All chat endpoints require authentication using Bearer tokens:Rate Limits
- Standard Chat: 100 requests per minute
- Research Mode: 20 requests per minute
- WebSocket: 1000 messages per minute
- History Operations: 200 requests per minute
POST /chat/stream
Stream chat responses with RAG (Retrieval-Augmented Generation) capabilities.The user’s message or question
Unique identifier for conversation continuity. Auto-generated if not provided.
AI model to use for response generationOptions:
gpt-4-turbo, gpt-3.5-turbo, claude-3-opus, claude-3-sonnetResponse creativity (0.0 to 2.0)
Maximum response length (1 to 4096)
Specific knowledge sources to queryOptions:
wikipedia, academic_papers, news, documentation, allRequest Example
Streaming Response Format (SSE)
The response is streamed using Server-Sent Events (SSE) format:Type of stream chunkValues:
start, content, sources, metadata, end, errorText content (for
content type chunks)Example Stream Response
POST /chat/research
Trigger deep research mode for comprehensive, multi-source analysis.Research question or topic
Depth of research analysisOptions:
quick, standard, deep, comprehensiveTypes of sources to include in researchOptions:
academic, wikipedia, news, documentation, books, patentsMaximum number of sources to analyze (5 to 100)
Response format structureOptions:
structured, narrative, bullet_points, academicRequest Example
Response Format
Unique identifier for the research session
Original research query
Executive summary of findings
Comprehensive analysis text
GET /chat/history
Retrieve conversation history for a specific conversation or user.Specific conversation ID to retrieve
User ID to get all conversations for
Maximum number of messages to return (1 to 1000)
Number of messages to skip for pagination
Filter messages after this date (ISO 8601)
Filter messages before this date (ISO 8601)
Request Example
Response Format
Conversation identifier
Array of conversation messages
Unique message identifier
Message sender roleValues:
user, assistant, systemMessage content
Message timestamp (ISO 8601)
DELETE /chat/history
Clear conversation history for a specific conversation or user.Specific conversation to clear (optional if user_id provided)
Clear all conversations for user (optional if conversation_id provided)
Only clear messages before this date (ISO 8601)
Request Example
Response Format
Whether the operation was successful
Number of messages deleted
Number of conversations affected
WebSocket /ws/chat
Real-time bidirectional chat connection with live streaming and collaborative features.Connection URL
Query Parameters
Your API authentication token
Conversation ID to connect to (auto-generated if not provided)
User identifier for multi-user conversations
Connection Example
Message Types
Client to Server Messages
Message typeValues:
message, typing, stop_generation, join_room, leave_roomMessage content (for
message type)AI model to use (for
message type)Room to join/leave (for room operations)
Server to Client Messages
Response typeValues:
content, sources, user_message, typing, error, connection_infoResponse content or user message
Username for user messages and typing indicators
Current conversation identifier
Real-time Features
Typing Indicators
Multi-user Chat Rooms
Stop AI Generation
Error Handling
HTTP Error Codes
Invalid request parameters or malformed JSON
Missing or invalid API key
Insufficient permissions or quota exceeded
Conversation or resource not found
Rate limit exceeded
Server error - try again later
Error Response Format
WebSocket Error Codes
Authentication token is invalid or expired
Too many messages sent too quickly
Message format is invalid or unsupported
Specified conversation ID doesn’t exist
Real Conversation Examples
Basic Q&A with Streaming
Deep Research Mode
WebSocket Multi-user Chat
SDK Libraries
For easier integration, use our official SDK libraries:- Python:
pip install deepwikiopen - JavaScript/Node.js:
npm install deepwikiopen-sdk - Go:
go get github.com/deepwikiopen/go-sdk - Rust:
cargo add deepwikiopen