planpoint-sdk-java
Official Java SDK for the PlanPoint API.Requirements
- Java 17+
- Maven or Gradle
Windows Note: Make sureJAVA_HOMEis set before running Maven:
Installation
The SDK is served via JitPack — no auth or registry setup required.Maven
Gradle
Quick Start
API Reference
Authentication
new AuthenticationApi(client).login(LoginBody body)
Authenticate and receive a JWT token.
| Field | Type | Required | Description |
|---|---|---|---|
username | String | Yes | User email |
password | String | No | User password |
impersonate | Boolean | No | Impersonate another user |
AuthResponse — .getAccessToken(): String
Projects
new ProjectsApi(client).getMyProjects()
List all projects belonging to the authenticated user. Requires auth.
Returns: List<ProjectSummary> — .getName(), .getNamespace(), .getHostName(), .getStatus(), .getPaused(), .getCreatedAt()
new ProjectsApi(client).findProject(FindProjectBody body)
Find a public project by namespace and hostname. No auth required.
| Field | Type | Required | Description |
|---|---|---|---|
namespace | String | Yes | Project namespace |
hostName | String | Yes | Allowed hostname |
Project
new ProjectsApi(client).getProject(String id)
Get a project by ID. Requires auth.
Returns: Project
new ProjectsApi(client).updateProject(String id, Object body)
Update project settings. Requires auth.
Returns: Project
Groups
new GroupsApi(client).getGroups()
List all groups for the authenticated user. Requires auth.
Returns: GroupsListResponse — .getRecords(): List<Group>, .getCount(): Integer
new GroupsApi(client).getGroup(String id)
Get a group by ID. Requires auth.
Returns: Group — .getName(), .getNamespace(), .getHostName(), .getType()
new GroupsApi(client).createGroup(CreateGroupBody body)
Create a new group. Requires auth.
Returns: Group
new GroupsApi(client).updateGroup(String id, Object body)
Update a group. Requires auth.
Returns: Group
Floors
new FloorsApi(client).getFloors(String pid)
List all floors for a project. Requires auth.
| Param | Type | Required | Description |
|---|---|---|---|
pid | String | Yes | Project ObjectId |
List<FloorFull> — .getName(), .getProject(), .getLevel(), .getPosition(), .getPath()
new FloorsApi(client).getFloor(String id)
Get a floor by ID. Requires auth.
Returns: FloorFull
new FloorsApi(client).createFloor(CreateFloorBody body)
Create a new floor. Requires auth.
Returns: FloorFull
new FloorsApi(client).updateFloor(String id, Object body)
Update a floor. Requires auth.
Returns: FloorFull
Units
new UnitsApi(client).getUnits(String pid)
List all units for a project. Requires auth.
| Param | Type | Required | Description |
|---|---|---|---|
pid | String | Yes | Project ObjectId |
UnitsListResponse — .getRecords(): List<UnitFull>, .getCount(): Integer
UnitFull fields: .getFloor(), .getName(), .getUnitNumber(), .getStatus(), .getPrice(), .getBed(), .getBath(), .getSqft(), .getModel()
status values: Available | OnHold | Sold | Leased | Unavailable
new UnitsApi(client).getUnit(String id)
Get a unit by ID. Requires auth.
Returns: UnitFull
new UnitsApi(client).createUnit(CreateUnitBody body)
Create a new unit. Requires auth.
Returns: UnitFull
new UnitsApi(client).updateUnit(String id, Object body)
Update a unit. Requires auth.
Returns: UnitFull
new UnitsApi(client).deleteUnit(String id)
Delete a unit. Requires auth.
new UnitsApi(client).batchUpdateUnits(BatchUpdateUnitsBody body)
Update multiple units at once. Requires auth.
| Field | Type | Required | Description |
|---|---|---|---|
ids | List<String> | Yes | Unit ObjectIds to update |
patchData | Object | Yes | Fields to apply to all |
List<UnitFull>
Leads
new LeadsApi(client).getLeads(String pid)
List all leads for a project. Requires auth.
| Param | Type | Required | Description |
|---|---|---|---|
pid | String | Yes | Project ObjectId |
List<Lead> — .getName(), .getEmail(), .getPhone(), .getMessage(), .getUnit(), .getCreatedAt()