# List a note's recordings

Source: https://workroad.app/docs/api/list-note-recordings

`GET https://workroad.app/api/v1/notes/{noteId}/recordings`

The lecture recordings on a note, newest first, without their transcripts. Read one with `GET /recordings/{recordingId}`.

- MCP tool: `listNoteRecordings` on `https://workroad.app/api/mcp`
- Required scopes: notes:view
- Test mode: `GET https://workroad.app/api/test/v1/notes/{noteId}/recordings` checks the request and returns the example response without changing anything.

## Path parameters

- `noteId`: string (uuid), required. Note id, scoped to the key's user.

## Response

`200` OK

- `data`: array of objects, required
  - `id`: string (uuid), required
  - `noteId`: string (uuid), required
  - `title`: string or null, required
  - `status`: one of `"recording"`, `"assembling"`, `"finished"`, required. `recording` while audio is still coming in, `assembling` while WorkRoad puts the transcript together, `finished` once it is final.
  - `summaryStatus`: one of `"none"`, `"queued"`, `"running"`, `"done"`, `"failed"`, required. Whether the recording has a summary: `done` when one is saved, `queued` or `running` while WorkRoad's AI writes one.
  - `createdAt`: string (date-time), required. When the recording started.

### Example

```json
{
  "data": [
    {
      "id": "5e4d3c2b-1a09-4f8e-9d7c-6b5a49382716",
      "noteId": "2f1e0d9c-8b7a-4c6d-9e5f-4a3b2c1d0e9f",
      "title": "Lecture 7: CPU scheduling",
      "status": "finished",
      "summaryStatus": "done",
      "createdAt": "2026-01-15T09:30:00.000Z"
    }
  ]
}
```

## Errors

Every error has the body `{ "error": { "code", "message", "details" } }`.

- `400`: Invalid request body or query
- `401`: Missing, invalid, disabled or expired API key
- `403`: The API key lacks the required scope
- `404`: No note with that id exists for this key's user.
- `405`: Method not allowed. Use a method from the Allow header.
- `429`: Rate limit exceeded. Wait for Retry-After before retrying. The rate-limit headers are absent when the key's own limiter rejected the request before the per-endpoint bucket check ran.
- `500`: Internal server error
