---
title: "Get Programme"
method: GET
path: "/programmes/{grade_key}"
tags: ["Programmes"]
---

# Get Programme

`GET /programmes/{grade_key}`

## Path parameters

- `grade_key` string, required

## Query parameters

- `subject` 'maths' | 'physique-chimie', nullable — Disambiguate when the same grade_key exists per matière.

## Response `200`

Successful Response

- Programme
  - `id` string, required
  - `grade_key` string, required
  - `grade_display` string, required
  - `subject` string
  - `source` string, nullable
  - `applicable_from` string, nullable
  - `disabled` boolean
  - `sort_order` integer
  - `chapters` Chapter[]
    - `display` string, required
    - `legacy_slug` string, nullable
    - `sort_order` integer
    - `thematics` Thematic[]
      - `key` string, required
      - `label` string, required
      - `sort_order` integer
    - `curriculum_details` object, nullable
  - `teacher_types` string[]
  - `updated_at` string, date-time, nullable

## Other responses

- `422` — Validation Error

## Changes

> 22 revisions in range; 1 not diffed.

- **2026-09-21** `140aaf394b17` — 2 info
  - added the optional property `applicable_from` to the response with the `200` status
  - added the optional property `source` to the response with the `200` status

[Change history](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/programmes/:grade_key/get.md)

---

[API](https://skmtc.dev/excellence-ai/apis/excellence-learning.md) · [All operations](https://skmtc.dev/excellence-ai/apis/excellence-learning/llms.txt) · [OpenAPI document](https://skmtc.dev/excellence-ai/apis/excellence-learning/revisions/d367d251945b?raw)
