GET
/api/public/v1/meeting-recordings

List 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

NameTypeRequiredDescription
roomIdstringOptionalNarrow 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.

Calendar
/calendar
  1. Open the event the meeting belongs to.
  2. Its recordings show under the details.