---
title: "Get programs for members of a group and its descendants. Roles: admin or group member."
method: GET
path: "/api/groups/{groupId}/programs"
tags: ["Programs", "Groups"]
---

# Get programs for members of a group and its descendants. Roles: admin or group member.

`GET /api/groups/{groupId}/programs`

## Path parameters

- `groupId` integer, required

## Response `200`

OK

- MemberCertsResponseMemberCertWithCert
  - `success` boolean
  - `error` string
  - `memberCerts` MemberCertWithCert[]
    - `audit` Audit
      - `createdTime` string, date-time
      - `modifiedTime` string, date-time
      - `modifiedBy` string
    - `token` string, uuid
    - `enrollDate` string, date
    - `firstEnrollDate` string, date
    - `startDate` string, date
    - `earnDate` string, date
    - `firstEarnDate` string, date
    - `renewalEligibleDate` string, date
    - `expireDate` string, date
    - `failDate` string, date
    - `endDate` string, date
    - `creditsEarned` number
    - `pointsEarned` number, float
    - `status` 'NOT_STARTED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'EXPIRED'
    - `externalEnrollmentId` string
    - `renewable` boolean
    - `expiresSoon` boolean
    - `userMembership` MemberCore
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `userMembershipId` integer
      - `membershipId` integer
      - `username` string
      - `firstName` string
      - `middleName` string
      - `lastName` string
      - `email` string
      - `phone` string
      - `eventICalToken` string, uuid
      - `messagingToken` string, uuid
      - `isConfirmedMinAge13` boolean
      - `birthDate` string, date
      - `lockEndDate` string, date
      - `passwordModifiedTime` string, date-time
      - `idpPluginId` integer
      - `membershipNumber` string
      - `fullName` string
      - `isPrimary` boolean
      - `isLocked` boolean
    - `cert` CertCore
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `alternateLocales` object
        - `empty` boolean
      - `certId` integer
      - `membershipId` integer
      - `typeCode` 'CERTIFICATION' | 'CHALLENGE' | 'MEMBERSHIP' | 'PASS'
      - `name` string
      - `shortDescription` string
      - `description` string
      - `external` boolean
      - `required` boolean
      - `audienceId` integer
      - `externalPluginId` integer
      - `externalId` string
      - `externalReferenceId` string
      - `allowAdminEnroll` boolean
      - `allowSelfEnroll` boolean
      - `autoEnrollEnabled` boolean
      - `autoRenewalEnabled` boolean
      - `isOpen` boolean
      - `unlisted` boolean
      - `credits` number
      - `pointsRequired` number, float
      - `renewalPointsRequired` number, float
      - `completionStrategy` 'ALL_PREREQ_COMPLETE' | 'ANY_PREREQ_COMPLETE' | 'EARNED_REQUIRED_POINTS'
      - `renewalStrategy` 'ALL_PREREQ_COMPLETE' | 'ANY_PREREQ_COMPLETE' | 'EARNED_REQUIRED_POINTS'
      - `certificateUuid` string, uuid
      - `certificatesEnabled` boolean
      - `enrollmentNotificationsEnabled` boolean
      - `completionNotificationsEnabled` boolean
      - `imageUuid` string, uuid
      - `openDate` string, date
      - `closeDate` string, date
      - `termIntervalCode` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR'
      - `termIntervalCount` integer
      - `termStartCode` 'EARN' | 'ENROLL' | 'FIRST_EARN' | 'FIRST_ENROLL' | 'ANCHOR'
      - `expireReminderDays` integer
      - `earlyRenewalDays` integer
      - `renewalGracePeriodDays` integer
      - `renewalAnchorDate` string, date
      - `emailCompletionBody` string
      - `tier` integer
      - `benefitTypeCode` 'PHYSICAL' | 'VIRTUAL' | 'HYBRID'
      - `programCategory` ProgramCategoryCore
        - `audit` Audit
          - `createdTime` string, date-time
          - `modifiedTime` string, date-time
          - `modifiedBy` string
        - `alternateLocales` object
          - `empty` boolean
        - `programCategoryId` integer
        - `membershipId` integer
        - `typeCode` 'CERTIFICATION' | 'CHALLENGE' | 'MEMBERSHIP' | 'PASS'
        - `name` string
        - `description` string
        - `required` boolean
        - `tierBehaviorCode` 'NONE' | 'REPLACE_ON_ENROLL' | 'REPLACE_ON_COMPLETION'
        - `downgradePolicyCode` 'NEVER' | 'DURING_RENEWAL' | 'ALWAYS_NO_REFUND' | 'ALWAYS_REFUND' | 'ALWAYS_REFUND_LESS_FEES'
        - `locale` string
      - `memberCert` MemberCertCore
        - `audit` Audit
          - `createdTime` string, date-time
          - `modifiedTime` string, date-time
          - `modifiedBy` string
        - `token` string, uuid
        - `enrollDate` string, date
        - `firstEnrollDate` string, date
        - `startDate` string, date
        - `earnDate` string, date
        - `firstEarnDate` string, date
        - `renewalEligibleDate` string, date
        - `expireDate` string, date
        - `failDate` string, date
        - `endDate` string, date
        - `creditsEarned` number
        - `pointsEarned` number, float
        - `status` 'NOT_STARTED' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' | 'EXPIRED'
        - `externalEnrollmentId` string
        - `renewable` boolean
        - `expiresSoon` boolean
      - `locale` string
    - `userMembershipId` integer

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `500` — Internal server error

---

[API](https://skmtc.dev/mobilecoach/apis/untitled-api.md) · [All operations](https://skmtc.dev/mobilecoach/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mobilecoach/untitled-api/revisions/f2568e11c0ab/schema)
