End User (v1)
Reference for magick_mind.resources.v1.end_user.
magick_mind.resources.v1.end_user
End user resource for Magick Mind SDK v1 API.
Provides methods for CRUD operations on end users in the agentic SaaS backend.
EndUserResourceV1
class EndUserResourceV1(BaseResource)End user resource for managing end users in agentic SaaS applications.
End users represent the actual users of applications built on the Magick Mind platform in a multi-tenant architecture.
EndUserResourceV1.create
async def create(name: str, external_id: Optional[str] = None) -> EndUserCreate a new end user.
Arguments:
name- End user name (required)external_id- Optional external ID for mapping to external systems
Returns:
Created EndUser object
Example:
end_user = await client.v1.end_user.create( name="John Doe", external_id="ext-789" ) print(f"Created end user: {end_user.id}")
EndUserResourceV1.get
async def get(end_user_id: str) -> EndUserGet an end user by ID.
Arguments:
end_user_id- The end user ID to retrieve
Returns:
EndUser object
Example:
end_user = await client.v1.end_user.get(end_user_id="user-123") print(f"End user name: {end_user.name}")
EndUserResourceV1.query
async def query(name: Optional[str] = None,
external_id: Optional[str] = None,
cursor: Optional[str] = None,
limit: Optional[int] = None,
order: Optional[str] = None) -> list[EndUser]Query end users with optional filters.
All parameters are optional. If no filters are provided, returns all accessible end users.
Arguments:
name- Filter by end user name (optional)external_id- Filter by external ID (optional)cursor- Pagination cursor (optional)limit- Maximum number of results to return (optional)order- Sort order (optional)
Returns:
List of EndUser objects matching the query
Example:
Search by name
end_users = await client.v1.end_user.query(name="John") for user in end_users: print(f"- {user.name}")
Search by external ID
user = await client.v1.end_user.query(external_id="ext-789")
EndUserResourceV1.update
async def update(end_user_id: str,
name: Optional[str] = None,
external_id: Optional[str] = None) -> EndUserUpdate an existing end user.
All update fields are optional. Only provided fields will be updated.
Arguments:
end_user_id- The end user ID to updatename- New end user name (optional)external_id- New external ID (optional)
Returns:
Updated EndUser object
Example:
updated = await client.v1.end_user.update( end_user_id="user-123", name="Jane Doe", external_id="new-ext-id" ) print(f"Updated end user: {updated.name}")
EndUserResourceV1.delete
async def delete(end_user_id: str) -> NoneDelete an end user.
Arguments:
end_user_id- The end user ID to delete
Example:
await client.v1.end_user.delete(end_user_id="user-123") print("End user deleted successfully")