---
title: "List Lessons"
method: GET
path: "/datamates/{datamate_id}/lessons"
tags: ["LEARNED_LESSONS"]
---

# List Lessons

`GET /datamates/{datamate_id}/lessons`

## Request

- Base URL: `https://api.myaltimate.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.myaltimate.com/datamates/{datamate_id}/lessons`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

The review list, newest change first. The owner sees every row;
anyone else sees live lessons and their own proposals. ``page``/``size``
come from ``add_pagination``.

## Path parameters

- `datamate_id` integer, required

## Query parameters

- `status` string: Comma list of candidate, approved, rejected, retired, removed.
- `repo_identity` string, nullable
- `store` string, nullable
- `page` integer: Page number
- `size` integer: Page size

## Response `200`

Successful Response

- PageLessonDetail
  - `items` LessonDetail[], required
    - `public_id` string, required
    - `lesson_key` string, required
    - `repo_identity` string, nullable
    - `store` string, required
    - `text` string, required
    - `tags` string[], required
    - `trigger_paths` string[], required
    - `pinned` boolean, required
    - `coexists` CoexistsRef[], required
      - `lesson_key` string, required
      - `source_text_hash` string, required
      - `target_text_hash` string, required
    - `helpful` integer, required
    - `harmful` integer, required
    - `applied` integer, required
    - `version` integer, required
    - `updated_at` string, date-time, required
    - `status` string, required
    - `change_type` string, required
    - `origin` string, required
    - `provenance` string, nullable
    - `status_reason` string, nullable
    - `created_by` integer, required
    - `created_by_name` string, nullable
    - `reviewed_by` integer, nullable
    - `reviewed_at` string, date-time, nullable
    - `created_at` string, date-time, required
    - `submission_hash` string, required
    - `content_hash` string, required
    - `replaces` ReplacedLesson[], required
      - `public_id` string, required
      - `version` integer, required
      - `lesson_key` string, required
      - `text` string, required
      - `status` string, required
      - `pinned` boolean, required
      - `tags` string[], required
      - `trigger_paths` string[], required
  - `total` integer, nullable, required
  - `page` integer, nullable, required
  - `size` integer, nullable, required
  - `pages` integer, nullable

## Other responses

- `403`: Not the workspace's owner
- `404`: Workspace or lesson not found
- `409`: Changed since read, or refused
- `422`: Validation Error

## Changes

- **2026-10-14** `1b2d675195d7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/myaltimate/apis/myaltimate-api/changes/datamates/:datamate_id/lessons/get.md)

---

[API](https://skmtc.dev/myaltimate/apis/myaltimate-api.md) - [All operations](https://skmtc.dev/myaltimate/apis/myaltimate-api/llms.txt) - [OpenAPI document](https://skmtc.dev/myaltimate/apis/myaltimate-api/revisions/727657ce54e9?raw)
