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

# List Own Submissions

`GET /datamates/{datamate_id}/lessons/submissions`

## 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/submissions`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

The caller's own proposals with their status, version and reason, so a
client sees owner edits and rejections. At most 1000, in
``(updated_at, public_id)`` order: page by passing the last row's
``updated_at`` and ``public_id`` back as ``since`` and ``after_id``.

## Path parameters

- `datamate_id` integer, required

## Query parameters

- `since` string, date-time, nullable: Only proposals changed at or after this time.
- `after_id` string, nullable: The last row's public_id, with its updated_at as since: only rows strictly after that (updated_at, public_id).

## Response `200`

Successful Response

- SubmissionOut[]
  - `public_id` string, required
  - `lesson_key` string, required
  - `repo_identity` string, nullable
  - `store` string, required
  - `status` string, required
  - `version` integer, required
  - `submission_hash` string, required
  - `content_hash` string, required
  - `status_reason` string, nullable
  - `updated_at` string, date-time, required

## 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/submissions/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)
