Skip to main content

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