---
title: "Courses in a curriculum"
method: GET
path: "/courses"
tags: ["Curriculum"]
---

# Courses in a curriculum

`GET /courses`

Fetches a list of Course objects for a specific curriculum.

A Course consists of a structured sequence of instructional content and activities designed to teach specific skills, knowledge, or competencies over a defined period. It typically encompasses multiple lesson groupings, lessons, and activities and aligns with curriculum standards and intended learning objectives for a particular grade level or subject area.

Use this endpoint when you need to:
- Discover available courses within a curriculum
- Get course metadata (name, description, grade levels, subject)
- Find course identifiers needed for other curriculum endpoints

## Query parameters

- `curriculumId` 'im360', required — Unique identifier for the resource in Knowledge Graph
- `limit` integer
- `cursor` string

## Response `200`

Successfully retrieved list of courses

- object — Cursor-based paginated response
  - `data` object[], required — Array of result items
    - `identifier` string, required — Unique identifier for the resource in Knowledge Graph
    - `name` string — Name or title of the resource
    - `description` string — Description
    - `courseCode` string — Unique identifier for the resource used by the course provider (e.g., "CS101" or "6.001")
    - `publisherIdentifier` string, nullable — Unique identifier for the resource used by the publisher
    - `academicSubject` 'English Language Arts' | 'Mathematics' | 'Science' | 'Social Studies' | 'Other' — Academic subject area
    - `gradeLevel` GradeLevelENUM[]
    - `author` string, required — Author or creator of the resource
    - `provider` string, required — Source data provider for the resource
    - `inLanguage` string — Language used in the resource (BCP 47 format)
    - `educationalUse` string — Educational use of the resource
    - `audience` string[] — Intended audience of the resource
    - `license` string, required — URL to the resource's license document
    - `curriculumLabel` string — Curriculum-specific categorization of the resource
    - `lmsLoadingGuidance` string — LMS loading guidance for the resource
    - `timeRequired` string, nullable — Approximate amount of time required to work through the resource (ISO 8601 duration format)
    - `dateCreated` string, date — Date created
    - `attributionStatement` string — Statement that acknowledges the resource's author and provider, as required by the CC BY 4.0 license
  - `pagination` Pagination, required — Cursor-based pagination metadata
    - `limit` integer, required — Maximum number of results to return per page
    - `nextCursor` string, nullable — Cursor for fetching the next page of results in your next request (`null` if there are no more results)
    - `hasMore` boolean, required — Whether there are more results after this page

## Other responses

- `400` — Bad request - Invalid query parameters
- `422` — Unprocessable Entity - Invalid curriculumId value
- `500` — Internal server error

---

[API](https://skmtc.dev/learningcommons/apis/learning-commons-knowledge-graph-rest-api.md) · [All operations](https://skmtc.dev/learningcommons/apis/learning-commons-knowledge-graph-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/learningcommons/learning-commons-knowledge-graph-rest-api/revisions/87a44fbb081f/schema)
