MagickMind
PythonResources

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) -> Project

Create 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) -> Project

Get 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) -> Project

Update an existing project.

Arguments:

  • project_id - The project ID to update
  • name - 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) -> None

Delete a project.

Arguments:

  • project_id - The project ID to delete

Example:

await client.v1.project.delete(project_id="proj-123") print("Project deleted successfully")

On this page