---
title: "List Teacher Courses"
method: GET
path: "/admin/teacher-courses"
tags: ["admin", "teacher-courses"]
---

# List Teacher Courses

`GET /admin/teacher-courses`

List all teacher courses with their processing status.
Admin only.

## Query parameters

- `status` string, nullable — Filter by status (UPLOADING, PROCESSING_IMAGES, GENERATING_CONTENT, COMPLETED, FAILED)
- `has_issues` boolean, nullable — Filter courses with issues (empty units, errors, stuck)
- `page` integer
- `page_size` integer

## Response `200`

Successful Response

- TeacherCoursesListResponse — Response for listing teacher courses
  - `courses` TeacherCourseStatus[], required
    - `id` string, required
    - `teacher_id` string, required
    - `teacher_email` string, nullable
    - `title` string, required
    - `status` string, required
    - `is_teacher_course` boolean, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `has_raw_content` boolean, required
    - `has_units` boolean, required
    - `has_original_images` boolean, required
    - `unit_count` integer, required
    - `error_message` string, nullable
    - `warnings` string[], nullable
    - `processing_options` object, nullable
  - `total` integer, required
  - `page` integer, required
  - `page_size` integer, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) · [All operations](https://skmtc.dev/excellence-ai/apis/excellence-learning/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/excellence-ai/excellence-learning/revisions/8d495ed916c6/schema)
