Overview

The People API provides read-only access to your organization’s people directory — employees and personnel synced from HR integrations or added manually. Use it to reference person IDs when assigning asset owners via the Assets API, or to reconcile your HR systems with LowerPlane. All endpoints require API key authentication.
The People API is read-only. People are managed through the LowerPlane dashboard or HR integrations (BambooHR, HiBob, Workday, and others).

List People

GET /api/v1/external/people
status
string
Filter by status, e.g., active, offboarded.
department
string
Filter by department name.
employment_type
string
Filter by employment type, e.g., full_time, contractor.
job_title
string
Filter by job title.
Search by name or email.
sort_by
string
default:"last_name"
Sort field.
sort_order
string
default:"asc"
Sort direction: asc or desc.
page
number
default:"1"
Page number.
limit
number
default:"20"
Results per page.

Example

curl "https://app.lowerplane.com/api/v1/external/people?status=active&department=Engineering" \
  -H "Authorization: Bearer lp_your_api_key"
import requests

response = requests.get(
    "https://app.lowerplane.com/api/v1/external/people",
    headers={"Authorization": "Bearer lp_your_api_key"},
    params={"status": "active", "page": 1, "limit": 50},
)
for person in response.json()["data"]:
    print(person["id"], person["firstName"], person["lastName"])

Response

Returns a paginated list of people. Each person includes:
id
string
The person’s UUID. Use this as owner_id when creating or updating assets.
firstName
string
First name.
lastName
string
Last name.
email
string
Work email address.
status
string
Employment status, e.g., active, offboarded.
department
string
Department name.
jobTitle
string
Job title.
employmentType
string
Employment type, e.g., full_time, contractor.
startDate
string
Start date (ISO 8601).

Error Responses

StatusErrorDescription
401Authentication failure (see Authentication)