Skip to main content
Print every event in the active workspace as a table or JSON. Useful as the first call when you want to find an event ID before drilling into the registrants, or as the data source for a recurring event-roster report.

Synopsis

talkvalue path event list

Options

This command takes no flags beyond the global flags. Filtering and pagination happen client-side. Pipe through jq or --json to slice the result.

Examples

1. Browse events in the terminal

talkvalue path event list
Prints every event as a table: ID, name, time zone, start time, location, people count, tags, created-at. Newest events appear in the order the server returns them.

2. Find an event ID with jq

talkvalue path event list --json \
  | jq '.data[] | select(.name | test("Summit"; "i")) | {id, name, startAt}'
Returns the ID, name, and start time of every event whose name contains Summit (case-insensitive). Use the ID with event get or event person list.

3. Snapshot events into a report

ts=$(date +%Y-%m-%d)
talkvalue path event list --json \
  | jq -r '.data[] | [.id, .name, .startAt, .peopleCount] | @csv' \
  > "snapshots/events-$ts.csv"
Loops over every event and writes a four-column CSV. Use a cron job for a periodic roster snapshot outside of TalkValue.

Response

{
  "data": [
    {
      "id": 18,
      "name": "Spring Summit",
      "timeZone": "America/Los_Angeles",
      "startAt": "2026-05-02T17:00:00Z",
      "endAt": "2026-05-02T22:00:00Z",
      "location": "San Francisco, CA",
      "peopleCount": 247,
      "tags": [{ "id": 12, "name": "Customer Conference" }],
      "createdAt": "2026-03-10T00:00:00Z"
    }
  ]
}
endAt, location, and tags may be empty or absent on draft events. peopleCount is the count of distinct people who joined the event, the same number the dashboard shows on the Events list.

See also