List sessions
List sessions with cursor-based pagination. Only returns completed sessions (with summaries). Response shape is stable; every session includes id, title, timestamp, duration_seconds, type, and platform.
Request
- Base URL: https://api.wave.co
- URL: https://api.wave.co/v1/sessions
- Auth: HTTP bearer
Query parameters
Max results (default 20, max 100)
ISO 8601 date for pagination (sessions older than this)
ISO 8601 date (sessions newer than this)
Filter by session type (meeting, recording, phone, desktop, import, youtube, podcast)
Filter by folder id or case-insensitive name. Restricts results to sessions in that folder. Ideal for default-deny work/personal separation on a single account.
Filter by tag (exact, case-sensitive). Repeatable (?tag=a&tag=b) or comma-separated (?tag=a,b). Pair with tag_mode=all to require every tag.
any (default) returns sessions matching at least one of the listed tags; all requires every listed tag.
shared appends the sessions other Wave users shared with you to the first page (no cursor) as read-only SharedSessionListRows (access: "shared"; no timestamp/duration_seconds/type); your own rows then carry access: "owner". Shared rows ignore type, folder, tag and since. If shared rows cannot be loaded the response carries shared_error: "sharing_unavailable" with own rows only. Default: own sessions only.
Response
Session list
Example response
{
"sessions": [
{
"id": "sess_01HX4R7MT8PQZ6VCN9ABYF2KJM",
"title": "Weekly product sync",
"timestamp": "2025-04-18T16:00:00.000Z",
"duration_seconds": 1812,
"type": "meeting",
"platform": "zoom",
"audio_deleted_at": null
},
{
"id": "sess_01HX3P8YVJ9WX1MKBQ2NTD5VGH",
"title": "Customer call — Acme Co.",
"timestamp": "2025-04-17T20:30:00.000Z",
"duration_seconds": 2455,
"type": "meeting",
"platform": "google_meet",
"audio_deleted_at": null
}
],
"next_cursor": "2025-04-17T20:30:00.000Z",
"has_more": true
}Changes
No recorded changes to this operation across all 1 revision of this API.