---
title: "Data feed for Course Progress"
method: GET
path: "/training/v1/feed/training-course-progress"
tags: ["Data Feeds"]
---

# Data feed for Course Progress

`GET /training/v1/feed/training-course-progress`

## Query parameters

- `courseId` string
- `courseExternalId` string
- `userId` string
- `userExternalId` string
- `modifiedAfter` string, date-time
- `limit` integer
- `offset` integer
- `completionStatus` 'COMPLETION_STATUS_UNSPECIFIED' | 'COMPLETION_STATUS_ALL' | 'COMPLETION_STATUS_COMPLETED' | 'COMPLETION_STATUS_NON_COMPLETED'

## Response `200`

A successful response.

- S12TrainingFeedV1FeedTrainingCourseProgressResponse
  - `metadata` S12CommonV1FeedMetadataSimple — FeedMetadataSimple for a feed.
    - `next_page` string — Full path to retrieve the next page of results, including the next_page_token.
    - `next_page_token` string — The value you can use to retrieve additional results. If a value exists, it means there are more results than listed. Use the value in your request body as a page_token to view more results.
  - `data` S12TrainingFeedV1FeedCourseProgress[]
    - `openedAt` string
    - `completedAt` string
    - `totalLessons` integer
    - `completedLessons` integer
    - `courseId` string
    - `courseExternalId` string
    - `courseTitle` string
    - `userEmail` string
    - `userFirstName` string
    - `userLastName` string
    - `userId` string
    - `userExternalId` string
    - `progressPercent` number, float
    - `score` integer
    - `dueAt` string
    - `completionExpiryDate` string
    - `timeSpentSeconds` integer — Total time spent on the course in seconds.

## Other responses

- `default` — An unexpected error response.

---

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