GET
/api/public/v1/meeting-recordingsList meeting recordings
Recordings of meetings the token can reach, newest first. Recordings live with the video provider rather than in our database, so this reads them per accessible room and drops any the company has tombstoned. That makes it a slower call than the rest of the API and it is not paginated the same way — pass `roomId` when you already know which meeting you want.
Required scope
The access token must carry this scope. A token missing it gets 403 Forbidden. Grant them to an API client under Settings → Company → API, and to a teammate under Employee → Permissions.
meetings:read
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
roomId | string | Optional | Narrow to one room, and skip the per-room fan-out. |
GETExample request
curl
curl -X GET "https://www.pxb.app/api/public/v1/meeting-recordings" \
-H "Authorization: Bearer your_access_token"200Example response
json
{
"message": "Meeting recordings retrieved successfully!",
"content": {
"recordings": [
{
"id": "ast_1201",
"roomId": "room_7a21",
"roomName": "Weekly sync",
"roomType": "STANDARD",
"sessionId": "ses_88",
"type": "room-composite",
"durationSeconds": 2740,
"sizeBytes": 184220110,
"createdAt": "2026-08-29T16:00:00.000Z"
}
],
"canDelete": false
}
}In the console
The same thing done by hand, for anyone comparing the API against the screen they already use.