---
title: "GET /v1/courses/{course_id}/progress"
method: GET
path: "/v1/courses/{course_id}/progress"
tags: ["Courses"]
---

# GET /v1/courses/{course_id}/progress

`GET /v1/courses/{course_id}/progress`

Fetch a specific user's course progress.

## Path parameters

- `course_id` integer, required

## Query parameters

- `user_id` integer, required
- `page` integer
- `per` integer

## Response `200`

200 response

- CourseProgressesResponse
  - `course_progress` CourseProgressResponse, required
    - `id` integer, required — The unique ID of the student's course progress.
    - `certificate` Certificate
      - `issued_at` integer, nullable, required — The date and time the certificate was issued to the user. Formatted in ISO8601.
      - `page_id` integer, nullable, required — The unique ID of the page of the certificate.
      - `serial_number` integer, nullable, required — The unique serial number of the certificate.
    - `completed_at` string, date-time, nullable — The date and time the student completed the course. Formatted in ISO8601. If the student has not completed the course, the return value is null.
    - `enrolled_at` string, date-time, required — The date and time the user was enrolled in the course. Formatted in ISO8601.
    - `lecture_sections` LectureSectionProgresses[], required
      - `lecture_section_progress` LectureSectionProgress
        - `id` integer, required — The unique ID of the lecture section.
        - `name` string, required — The name of the lecture section.
        - `lectures` LectureProgresses[], required
          - `lecture_progress` LectureProgress, required
            - `id` integer, required — The unique ID of the lecture.
            - `name` string, required — The name of the lecture.
            - `completed_at` string, date-time, nullable, required — The date and time the student completed the course. Formatted in ISO8601. If the student has not completed the course, the return value is null.
            - `is_completed` boolean, required — The completed status of the lecture. If completed, the return value is true. If uncompleted, the return value is false.
    - `percent_complete` integer, required — The percentage of the course that has been marked complete by the student.
  - `meta` PaginationMeta, required
    - `total` integer, required — The total number of items.
    - `page` integer, required — The current page.
    - `from` integer, required — First item number on page.
    - `to` integer, required — Last item number on page.
    - `per_page` integer, required — The number of items displayed per page.
    - `number_of_pages` integer, required — The total number of pages.

## Other responses

- `404` — 404 response

---

[API](https://skmtc.net/teachable/apis/teachable-public-api.md) · [All operations](https://skmtc.net/teachable/apis/teachable-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/teachable/teachable-public-api/versions/e03f4f4f7957/schema)
