List people
People
List People
Page through a workspace’s people. Filtering and sorting (including across related objects) is done through the records query.
GET
List people
GET /v1/people returns the workspace’s people (contacts), page-paginated with page and limit (max 100). It does not accept inline filtering or sorting — those query params are ignored.
To filter or sort people — including across related objects — use the records query: POST /v1/records/query with root: "people". It exposes the full filters / raw whereClause and orderBy model. For the operator set and pagination notes see Filtering & sorting.
Filtering & sorting on related objects
Filter and sort on a related (included) object by nesting into the relationship — the same relationships you pass toinclude.
- To-one relations nest directly:
{ "issuer": { "name": { "_eq": "Acme" } } }, and sort by a dot-path:"orderBy": { "field": "issuer.name", "direction": "asc" }. - To-many relations must be quantified with
_some,_every, or_none:{ "items": { "_some": { "quantity": { "_gt": 1 } } } }. They are not directly sortable (a to-many sort needs an aggregate proxy). - Composite
composite_*columns are virtual — filter and sort on their underlying source fields, not on the composite.
include) and how to filter or sort on each:
| Relationship | Cardinality | Filter on a field | Sort by a field |
|---|---|---|---|
workspace | to-one (workspace) | { "workspace": { "name": { "_eq": … } } } | "field": "workspace.name" ✅ |
source_workspace_connector | to-one (workspaceconnector) | { "source_workspace_connector": { "field_name": { "_eq": … } } } | "field": "source_workspace_connector.field_name" ✅ |
media | to-one (media) | { "media": { "file_name": { "_eq": … } } } | "field": "media.file_name" ✅ |
emails | to-many (personemail) | { "emails": { "_some": { "address": { "_eq": … } } } } | aggregate proxy only ⚠️ |
phones | to-many (personphone) | { "phones": { "_some": { "number": { "_eq": … } } } } | aggregate proxy only ⚠️ |
locations | to-many (personlocation) | { "locations": { "_some": { "city": { "_eq": … } } } } | aggregate proxy only ⚠️ |
web_links | to-many (personweblink) | { "web_links": { "_some": { "field_name": { "_eq": … } } } } | aggregate proxy only ⚠️ |
companies | to-many (companyperson) | { "companies": { "_some": { "field_name": { "_eq": … } } } } | aggregate proxy only ⚠️ |
memberships | to-many (membership) | { "memberships": { "_some": { "role": { "_eq": … } } } } | aggregate proxy only ⚠️ |
collect | to-many (collect) | { "collect": { "_some": { "field_name": { "_eq": … } } } } | aggregate proxy only ⚠️ |
workspace_connectors | to-many (workspaceconnector) | { "workspace_connectors": { "_some": { "field_name": { "_eq": … } } } } | aggregate proxy only ⚠️ |
people_workspace_connectors | to-many (peopleworkspaceconnector) | { "people_workspace_connectors": { "_some": { "field_name": { "_eq": … } } } } | aggregate proxy only ⚠️ |
field_name with any field of the related object. See its object-reference page for the full field list.
Filter by a to-one relation (and sort by it):