---
title: "Get paged courses by org. Roles: admin."
method: GET
path: "/api/memberships/{membershipId}/courses"
tags: ["Courses", "Organizations"]
---

# Get paged courses by org. Roles: admin.

`GET /api/memberships/{membershipId}/courses`

## Path parameters

- `membershipId` integer, required

## Query parameters

- `pageIndex` integer
- `pageSize` integer
- `sortDir` 'ASC' | 'DESC'
- `sortBy` 'TITLE' | 'MODIFIED_TIME'
- `title` string
- `tagIds` integer[]
- `tagCategories` string[]
- `contentPublished` boolean
- `activityAdminOnlyAccess` boolean
- `courseAllowSelfEnroll` boolean

## Response `200`

OK

- PagedResponseCourseCoreWithTags
  - `success` boolean
  - `error` string
  - `pageRequest` PageRequest
    - `pageIndex` integer
    - `pageSize` integer
  - `totalItemCount` integer
  - `items` CourseCoreWithTags[]
    - `audit` Audit
      - `createdTime` string, date-time
      - `modifiedTime` string, date-time
      - `modifiedBy` string
    - `alternateLocales` object
      - `empty` boolean
    - `contentId` integer
    - `contentType` string
    - `membershipId` integer
    - `detail` string
    - `previewing` boolean
    - `subTitle` string
    - `thumbnailImageUuid` string, uuid
    - `title` string
    - `keywords` string
    - `body` string
    - `properties` object
    - `externalPluginId` integer
    - `externalId` string
    - `externalReferenceId` string
    - `certificateUuid` string, uuid
    - `credits` number
    - `courseEmailCompletionBody` string
    - `termIntervalCode` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR'
    - `termIntervalCount` integer
    - `earlyRenewalDays` integer
    - `tags` TagFull[]
      - `audit` Audit
        - `createdTime` string, date-time
        - `modifiedTime` string, date-time
        - `modifiedBy` string
      - `alternateLocales` object
        - `empty` boolean
      - `tagId` integer
      - `title` string
      - `color` string
      - `category` string
      - `membershipId` integer
      - `priority` integer
      - `tagGroup` string
      - `locale` string
    - `locale` string
    - `certificatesEnabled` boolean
    - `allowAdminEnroll` boolean
    - `allowSelfEnroll` boolean
    - `allowSelfEnrollReset` boolean
    - `enrollmentNotificationsEnabled` boolean
    - `completionNotificationsEnabled` boolean
    - `creditsRepeatable` boolean
    - `isPublished` boolean
  - `totalPages` integer
  - `itemCount` integer
  - `isFirst` boolean
  - `isLast` boolean
  - `hasNext` boolean
  - `hasPrevious` boolean

## Other responses

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

## Changes

- **2026-09-02** `870f28ba2607` — 5 info
  - added the optional property `error/errorId` to the response with the `400` status
  - added the optional property `error/errorId` to the response with the `401` status
  - added the optional property `error/errorId` to the response with the `403` status
  - added the optional property `error/errorId` to the response with the `404` status
  - …1 more

[Change history](https://skmtc.dev/mobilecoach/apis/untitled-api/changes/api/memberships/:membershipId/courses/get.md)

---

[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/870f28ba2607/schema)
