---
title: "List interview module members"
method: GET
path: "/v1/interview-modules/{moduleId}/members"
tags: ["Interview Module"]
---

# List interview module members

`GET /v1/interview-modules/{moduleId}/members`

Returns paginated module memberships with each employee's current training status, pause state, limits, and training progress. Filter by member IDs or training statuses; every supplied filter is applied together. Use the cursor to continue the same filtered result set.

## Path parameters

- `moduleId` string, required — an interview module ID. Accepts the canonical prefixed compact UUID, a prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID; input is case-insensitive.

## Query parameters

- `cursor` string — Opaque pagination cursor from the previous page's pagination.next_cursor, bound to the same query filters.
- `limit` integer — Page size. Must be between 1 and 100; defaults to 25.
- `ids` string[], nullable — Comma-separated list of IDs; maximum 100 values.
- `statuses` string[], nullable — Matches members with any listed training status; combines with ids using AND.

## Response `200`

Success

- object
  - `data` InterviewModuleMember[], required
    - `employee` object, required
      - `id` string, required — Canonical employee ID (emp_ followed by 32 lowercase hexadecimal UUID characters).
      - `name` string, required
    - `training_status` 'TRAINED' | 'SHADOW' | 'REVERSE_SHADOW', required
    - `next_status` 'TRAINED' | 'SHADOW' | 'REVERSE_SHADOW', required
    - `paused` object, required
      - `is_paused` boolean, required
      - `until` string, date-time, nullable, required — ISO 8601 timestamp.
    - `shadow_started_at` string, date-time, nullable, required — ISO 8601 timestamp.
    - `reverse_shadow_started_at` string, date-time, nullable, required — ISO 8601 timestamp.
    - `trained_at` string, date-time, nullable, required — ISO 8601 timestamp.
    - `time_to_train` integer, required
    - `weekly_interview_limit_override` integer, nullable, required — Member-specific maximum interviews per week; null means unlimited.
    - `progress_percentage` integer, required
    - `training_progress` InterviewModuleTrainingProgress, required
      - `completed_as_shadow` integer, required
      - `completed_as_reverse_shadow` integer, required
      - `upcoming_as_shadow` integer, required
      - `upcoming_as_reverse_shadow` integer, required
      - `manual_completed_as_shadow` integer, required
      - `manual_completed_as_reverse_shadow` integer, required
      - `all_interviews_as_shadow` integer, required
      - `all_interviews_as_reverse_shadow` integer, required
      - `shadows_required` integer, required
      - `reverse_shadows_required` integer, required
      - `needs_approval` boolean, required
      - `is_fast_track_training_enabled` boolean, required
  - `pagination` Pagination, required
    - `next_cursor` string, nullable, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `409` — Conflict
- `410` — Gone
- `500` — Internal error

---

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