API Introduction
The DecipherIt API is a FastAPI-based REST API that powers intelligent research agents. It enables you to submit research tasks, track their progress, generate audio overviews, create mindmaps, and interact with research content through chat.Base URL
The API is served at: Development (self-hosted):All endpoints are prefixed with
/api. For example, the health check endpoint is available at /api/health. Code examples in this documentation use the production URL format.API Architecture
DecipherIt uses an asynchronous, background task processing model:- Submit Tasks - Research, audio overview, and mindmap generation tasks are submitted and return immediately with a task ID
- Background Processing - Tasks are processed asynchronously by AI agents
- Poll for Status - Check task status and retrieve results using the task ID
- Real-time Chat - Interact with research content through synchronous chat endpoints
Core Concepts
Notebooks
A notebook is the primary organizational unit in DecipherIt. Each research task is associated with a notebook ID, which groups related research, summaries, audio overviews, and mindmaps together.Background Tasks
Most operations return atask_id immediately and process in the background. Task statuses include:
IN_QUEUE- Task is waiting to be processedIN_PROGRESS- Task is currently being processedCOMPLETED- Task finished successfullyFAILED- Task encountered an error
Research Sources
Research can be initiated from multiple source types:URL- Web-based sourcesMANUAL- Manually provided contentUPLOAD- Uploaded documents
Available Endpoints
Health Check
Research Endpoints
POST /api/research- Submit a new research taskGET /api/research/{task_id}- Get research task statusPOST /api/research/audio-overview/{notebook_id}- Generate audio overviewPOST /api/research/mindmap/{notebook_id}- Generate mindmap
Chat Endpoints
POST /api/chat/message- Send a chat message and receive AI response
Request/Response Format
All requests and responses use JSON format. The API follows RESTful conventions:200 OK- Successful GET request201 Created- Successful POST request (synchronous)202 Accepted- Successful POST request (asynchronous task submitted)400 Bad Request- Invalid request data404 Not Found- Resource not found500 Internal Server Error- Server error
CORS Configuration
The API includes CORS middleware that allows:- All origins (configure for production)
- Credentials
- All HTTP methods
- All headers
Error Handling
Errors return a JSON response with an HTTP status code and detail message:- Missing required fields (notebook_id, topic/sources)
- Task or notebook not found
- Processing failures
Next Steps
Authentication
Learn about API authentication
Research API
Submit and track research tasks
Chat API
Interact with research content
Audio & Mindmap APIs
Generate audio overviews and mindmaps