---
title: "Get products by course. Roles: admin."
method: GET
path: "/api/courses/{contentId}/products"
tags: ["Products", "Courses"]
---

# Get products by course. Roles: admin.

`GET /api/courses/{contentId}/products`

## Path parameters

- `contentId` integer, required

## Response `200`

OK

- ProductsResponseProductCoreWithAudience
  - `success` boolean
  - `error` string
  - `products` ProductCoreWithAudience[]
    - `audit` Audit
      - `createdTime` string, date-time
      - `modifiedTime` string, date-time
      - `modifiedBy` string
    - `productId` integer
    - `membershipId` integer
    - `name` string
    - `detail` string
    - `currency` 'AED' | 'ARS' | 'AUD' | 'CAD' | 'CHF' | 'CLP' | 'CNY' | 'EUR' | 'GBP' | 'INR' | 'JPY' | 'KRW' | 'MYR' | 'NZD' | 'PKR' | 'SGD' | 'USD' | 'ZAR'
    - `price` integer
    - `imageUuid` string, uuid
    - `typeCode` 'CERT' | 'COURSE' | 'EVENT'
    - `salesStartTime` string, date-time
    - `salesEndTime` string, date-time
    - `eventCheckInStartTime` string, date-time
    - `eventCheckInEndTime` string, date-time
    - `availableForSale` boolean
    - `availableForCheckIn` boolean
    - `active` boolean
    - `recurring` boolean
    - `recurringInterval` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR'
    - `recurringIntervalCount` integer
    - `allowProrate` boolean
    - `taxEnabled` boolean
    - `taxCode` string
    - `enrollmentScopeCode` 'ENROLL' | 'ENROLL_AND_RENEW' | 'RENEW'
    - `audiencePromo` AudiencePromo
      - `contentId` integer
      - `actionText` string
      - `localizedValues` AudiencePromoLocaleValues
        - `actionText` string
    - `previewing` boolean
    - `audience` AudienceCore
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `audienceId` integer
      - `membershipId` integer
      - `name` string
      - `criterionType` 'COMPOUND' | 'COURSE' | 'GROUP' | 'IDENTITY_PROVIDER' | 'PROFILE_QUESTION' | 'PROGRAM'
      - `criterionOperator` 'AND' | 'OR' | 'EQUALS' | 'NOT_EQUALS'
      - `criterionValue` string
      - `invalidTime` string, date-time
      - `groupDescendantsIncluded` boolean
      - `idpPluginId` integer
    - `programScopeCode` 'ENROLL' | 'ENROLL_AND_RENEW' | 'RENEW'

## 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)
