planpoint-sdk
Official Python SDK for the Planpoint API.Installation
Quick Start
API Reference
Authentication
client.authentication.login(**kwargs)
Authenticate and receive a JWT token.
Returns:
LoginResponse — .token: str
Projects
client.projects.get_my_projects()
List all projects belonging to the authenticated user. Requires auth.
Returns: list[ProjectSummary] — .name, .namespace, .host_name, .status, .paused, .created_at
client.projects.find_project(**kwargs)
Find a public project by namespace and hostname. No auth required.
Returns:
Project — full project with floors, units, settings
client.projects.get_project(**kwargs)
Get a project by ID. Requires auth.
Returns:
Project
client.projects.update_project(**kwargs)
Update project settings. Requires auth.
Returns:
Project
Groups
client.groups.get_groups()
List all groups for the authenticated user.
Returns: GroupsListResponse — .records: list[Group], .count: int
client.groups.get_group(**kwargs)
Get a group by ID.
Returns:
Group — .name, .namespace, .host_name, .type, .projects, .is_owner, .is_admin, .is_editor
client.groups.create_group(**kwargs)
Create a new group.
Returns:
Group
client.groups.update_group(**kwargs)
Update a group.
Returns:
Group
Floors
client.floors.get_floors(**kwargs)
List all floors for a project.
Returns:
list[FloorFull] — .name, .project, .level, .position, .path, .image
client.floors.get_floor(**kwargs)
Get a floor by ID.
Returns:
FloorFull
client.floors.create_floor(**kwargs)
Create a new floor.
Returns:
FloorFull
client.floors.update_floor(**kwargs)
Update a floor.
Returns:
FloorFull
Units
client.units.get_units(**kwargs)
List all units for a project.
Returns:
UnitsListResponse — .records: list[UnitFull], .count: int
UnitFull fields: .floor, .name, .unit_number, .status, .price, .bed, .bath, .sqft, .model, .orientation, .parking
status values: Available | OnHold | Sold | Leased | Unavailable
client.units.get_unit(**kwargs)
Get a unit by ID.
Returns:
UnitFull
client.units.create_unit(**kwargs)
Create a new unit.
Returns:
UnitFull
client.units.update_unit(**kwargs)
Update a unit.
Returns:
UnitFull
client.units.delete_unit(**kwargs)
Delete a unit.
Returns:
dict — { "message": str }
client.units.batch_update_units(**kwargs)
Update multiple units at once.
Returns:
list[UnitFull]
Leads
client.leads.get_leads(**kwargs)
List all leads for a project.
Returns:
list[Lead] — .name, .email, .phone, .message, .unit, .created_at