Create Project
POST /api/projects
Create a new project with intelligence hub.
Creates a new project in ChromaDB through ProjectManager with specified configuration including name, description, project type, and optional metadata. Initializes empty intelligence and analytics structures for the new project.
The created project is immediately available for agent assignment, document management, and intelligence tracking.
Args: request: ProjectCreateRequest with project configuration - name: Project name (required) - description: Project description (optional) - project_type: Project type identifier (required) - base_directory: Base directory path (optional) - color: UI color hex code (optional) - icon: Icon identifier (optional) - metadata: Additional metadata (optional)
Returns: ProjectItem: Created project with full structure including: - Basic metadata (id, name, description, type, status) - Timestamps (createdAt, modifiedAt) - Settings (visibility, auto-save, integrations) - Intelligence (empty assigned agents, knowledge base) - Analytics (zero initial values)
Raises: HTTPException: 500 if project creation fails
Example Request:
json { "name": "My Novel", "description": "Main writing project", "projectType": "fiction", "color": "#FF6B35", "icon": "book" }
Example Response:
json { "id": "proj_abc123", "name": "My Novel", "type": "fiction", "status": "active", "createdAt": "2025-01-31T10:00:00Z", "intelligence": { "assignedAgents": [], "knowledgeBase": {"documents": 0, "connections": 0, "insights": 0} } }
Request Body required
Section titled “Request Body required ”Request to create a new project.
Provides request structure for creating a new project with name, description, project type, base directory, visual customization (color, icon), and optional metadata. Used by project management endpoints to create new workspace projects.
Fields:
name: Project name (required)description: Project description (optional)project_type: Project type string (required, e.g., “fiction”, “general”, “custom”)base_directory: Base directory path for project (optional)color: Project color for UI display (optional, hex color string)icon: Project icon identifier (optional)metadata: Optional metadata dictionary (optional)
Usage: POST /api/projects/create accepts this request model to create a new project with specified configuration.
JSON Example:
{
"name": "My Novel",
"description": "Main writing project",
"projectType": "fiction",
"baseDirectory": "projects/my_novel",
"color": "#FF6B35",
"icon": "book",
"metadata": {"genre": "fantasy", "target_word_count": 100000}
}object
Project name
Project type
Responses
Section titled “ Responses ”Successful Response
Complete project details with intelligence and analytics.
Comprehensive project data structure including basic metadata, settings, intelligence data, and analytics metrics. Represents a complete project entity for API responses.
Fields:
id: Unique project identifier (string)name: Project name (string)description: Project description (string)type: Project type (string, e.g., “fiction”, “general”)status: Project status (string, e.g., “active”, “archived”)created_at: Creation timestamp ISO 8601 (string)modified_at: Last modification timestamp ISO 8601 (string)owner: Project owner user ID (string)collaborators: List of collaborator user IDs (list[str])settings: Project configuration settings (ProjectSettings object)intelligence: Project intelligence data (ProjectIntelligence object)analytics: Project analytics metrics (ProjectAnalytics object)
JSON Example:
{
"id": "proj_abc123",
"name": "My Novel",
"description": "Main writing project",
"type": "fiction",
"status": "active",
"createdAt": "2025-01-15T10:00:00Z",
"modifiedAt": "2025-01-31T15:30:00Z",
"owner": "user_001",
"collaborators": ["user_002", "user_003"],
"settings": { ... },
"intelligence": { ... },
"analytics": { ... }
}object
Unique project identifier
Project name
Project description
Project type
Project status
Creation timestamp (ISO 8601)
Last modification timestamp (ISO 8601)
Project owner user ID
Collaborator user IDs
Project settings
object
Project visibility level
Enable automatic saving
Enable context preservation
Enable AI assistance
Enable notifications
Integration settings
object
Enable MIME integration
Enable research hub integration
Enable analytics integration
Per-project Lorekeeper configuration.
Defines project-specific rules for lore consistency validation including prohibited elements, naming conventions, and cultural context. Read by the lore validator at analysis time via ProjectConfig.lore_rules.
Fields:
prohibited_elements: Elements that should not appear in this project’s writingnaming_patterns: Descriptions of naming conventions (e.g. “Yoruba-inspired”)cultural_context: Description of the project’s cultural/thematic settingstrict_naming: Whether to enforce naming convention checks
object
Prohibited story elements
Naming convention descriptions
Cultural/thematic setting
Enforce naming conventions
Per-project publishing readiness weight configuration.
All fields are optional. Absent fields fall back to the system defaults. Weights are normalised to sum to 1.0 at calculation time.
Per-project document save directory. Empty = use global default.
Divine agents assigned to this project
Per-project AI personality/tone prompt
Lore category names scoping per-project lore search
Genre overlay drivers for the Authored Library (M9). Empty list means universal voicing only. Values must be one of the 12 SUPPORTED_GENRES the authored-library layer recognises.
Per-project LLM tuning knobs stored inside ProjectSettings.
Declared as a typed Pydantic sub-model (rather than a raw dict) so
IshvanaBaseModel’s alias generator emits camelCase over the wire —
without that, the frontend sees max_tokens / search_results_count
while its mapper expects maxTokens / searchResultsCount.
Per-agent base system prompt overrides keyed by lowercase agent id (e.g. ‘lagan’). Empty dict / missing key means the agent uses its hardcoded default identity text.
object
Project intelligence
object
Assigned divine agents
Project context data
object
AI learning patterns
object
User behavior patterns
object
Content preferences
object
Workflow optimization patterns
object
Knowledge base metrics
object
Number of documents
Number of connections
AI-generated insights
Project analytics
object
Total time spent in minutes
Number of active days
Completion percentage
Collaborator activity scores
object
Agent interactions count
Productivity score
Analytics trends
object
Daily trend data
Weekly trend data
Monthly trend data
Whether TTRPG mechanics system is enabled
Validation Error