Skip to main content
Page through every company in the active workspace. Filter by keyword to narrow the result, then pipe to jq or save as JSON. The dashboard Companies page uses the same backend query.

Synopsis

talkvalue path company list [options]

Options

FlagTypeDescription
--keyword <keyword>stringFree-text match against company display name and domain.
--page <n>integerPage number (zero-indexed). Defaults to 0.
--page-size <n>integerPage size. Defaults to the server default.

Examples

1. Browse companies in the terminal

talkvalue path company list --page-size 20
Prints the first 20 companies as a table: ID, domain, display name, and the people count attributed to the company.

2. Filter by keyword and pipe to jq

talkvalue path company list --keyword "acme" --json \
  | jq '.data[] | {id, displayName, peopleCount}'
Returns the matching companies stripped to three fields. The --json envelope also carries .pagination.

3. Walk every page in a script

page=0
while :; do
  resp=$(talkvalue path company list --page "$page" --page-size 100 --json)
  echo "$resp" | jq -e '.data | length > 0' >/dev/null || break
  echo "$resp" | jq '.data[]'
  page=$((page + 1))
done
Loops until a page returns no rows. See Scripting with jq for richer pagination patterns.

Response

{
  "data": [
    {
      "id": 88,
      "domain": "acme.com",
      "displayName": "Acme Inc.",
      "peopleCount": 142
    }
  ],
  "pagination": { "page": 0, "pageSize": 20, "totalElements": 1320, "totalPages": 66 }
}
pagination appears only in --json. peopleCount may be null on companies that have never had a person attributed. Treat it as 0 when computing totals.

See also