---
title: "Get learner training modules"
method: GET
path: "/v1/learner-training-modules"
tags: ["Learner Training Modules"]
---

# Get learner training modules

`GET /v1/learner-training-modules`

Get many learner training modules. 

The query parameter filters are applied as `AND` conditions across different filters. 
If multiple filters are used, the response will include only the learner training modules that satisfy all the filters.

Within a single filter, multiple values are applied as `OR` conditions.

## Query parameters

- `id` string[]
- `learnerId` string[]
- `learnerStatus` string[]
- `trainingCampaignId` string[]
- `trainingCampaignStatus` string[]
- `limit` integer
- `cursor` string

## Response `200`

Success

- object
  - `limit` integer
  - `hasMore` boolean
  - `data` object[]
    - `id` string, required — The unique identifier of a learner training module.
    - `trainingCampaignId` string, required — The unique identifier of a training campaign.
    - `learnerId` string, required — The unique identifier of a learner.
    - `moduleName` string, required — The name of the training module.
    - `lengthInMinutes` number, required — The training length of the module in minutes.
    - `assignedAt` string, date-time, required — The date and time the learner was assigned the training module.
    - `status` 'YEARLY_TRAINING_REMOVED' | 'COURSE_UNENROLLED' | 'MIGRATION_COMPANY_UNENROLLED' | 'ADMIN_ARCHIVED' | 'WITHIN_DEADLINE' | 'INCOMPLETE' | 'USER_COMPLETED' | 'ADMIN_COMPLETED' | 'CLASSROOM_COMPLETED' | 'ASSESSMENT_SKIPPED' | 'SYSTEM_REMOVED' | 'ADMIN_REMOVED' | 'MIGRATED', required — The status of the learner training module. Active statuses (learner can still interact and complete training): - WITHIN_DEADLINE: Assigned but not yet completed, still within the deadline - INCOMPLETE: Assigned but not completed, the deadline has passed Completed statuses: - USER_COMPLETED: Learner completed the module themselves - ADMIN_COMPLETED: Administrator marked the module as completed - CLASSROOM_COMPLETED: Completed in a classroom facilitated training - ASSESSMENT_SKIPPED: Learner passed an assessment, and skipped this module Removed statuses: - ADMIN_REMOVED: Administrator removed the module - ADMIN_ARCHIVED: Archived by administrator when training campaign was cancelled or archived - SYSTEM_REMOVED: System automatically removed the module due to a change in population, learner status, or learner profile - YEARLY_TRAINING_REMOVED: Incomplete module that was removed when new yearly training was assigned - COURSE_UNENROLLED: Company unenrolled from the course - MIGRATION_COMPANY_UNENROLLED: Status changed during data migration - MIGRATED: Status changed during data migration
    - `statusUpdatedAt` string, date-time, required — The instant of the latest status change of the training module.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized

---

[API](https://skmtc.net/goethena/apis/ethena-api.md) · [All operations](https://skmtc.net/goethena/apis/ethena-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/goethena/ethena-api/revisions/cac8702ed2aa/schema)
