Project (v1)
Reference for magick_mind.resources.v1.project.
magick_mind.resources.v1.project
Project resource for Magick Mind SDK v1 API.
Provides methods for CRUD operations on projects in the agentic SaaS backend.
ProjectResourceV1
class ProjectResourceV1(BaseResource)Project resource for managing agentic SaaS projects.
Projects organize corpus and other resources for multi-tenant backends.
ProjectResourceV1.create
async def create(name: str,
description: str = "",
corpus_ids: Optional[list[str]] = None) -> ProjectCreate a new project.
Arguments:
name- Project name (required)description- Project description (optional, max 256 chars)corpus_ids- List of corpus IDs to associate with project
Returns:
Created Project object
Example:
project = await client.v1.project.create( name="My Agentic App", description="An AI-powered assistant", corpus_ids=["corpus-123"] ) print(f"Created project: {project.id}")
ProjectResourceV1.get
async def get(project_id: str) -> ProjectGet a project by ID.
Arguments:
project_id- The project ID to retrieve
Returns:
Project object
Example:
project = await client.v1.project.get(project_id="proj-123") print(f"Project name: {project.name}")
ProjectResourceV1.list
async def list(created_by_user_id: Optional[str] = None) -> list[Project]List projects, optionally filtered by creator user ID.
Arguments:
created_by_user_id- Optional user ID to filter projects created by this user
Returns:
List of Project objects
Example:
List all accessible projects
projects = await client.v1.project.list()
List projects created by specific user
user_projects = await client.v1.project.list(created_by_user_id="user-123") for project in user_projects: print(f"- {project.name}")
ProjectResourceV1.update
async def update(project_id: str,
name: str,
description: str = "",
corpus_ids: Optional[list[str]] = None) -> ProjectUpdate an existing project.
Arguments:
project_id- The project ID to updatename- New project name (required)description- New project description (optional, max 256 chars)corpus_ids- New list of corpus IDs to associate with project
Returns:
Updated Project object
Example:
updated = await client.v1.project.update( project_id="proj-123", name="Updated Name", description="Updated description", corpus_ids=["corpus-123", "corpus-456"] ) print(f"Updated project: {updated.name}")
ProjectResourceV1.delete
async def delete(project_id: str) -> NoneDelete a project.
Arguments:
project_id- The project ID to delete
Example:
await client.v1.project.delete(project_id="proj-123") print("Project deleted successfully")