---
title: "OneRoster - Get all classes"
method: GET
path: "/oneroster/classes"
tags: ["Oneroster"]
---

# OneRoster - Get all classes

`GET /oneroster/classes`

**Requires permission:** *ServiceAccount*

OneRoster v1.1 GetAllClasses. Panoptic classes plus a homeroom class per House. Supports offset/limit paging and status / dateLastModified filtering.

## Response `200`

Success - classes

- ClassSetResponse
  - `classes` OrClass[]
    - `sourcedId` string, nullable
    - `status` string
    - `dateLastModified` string, date-time, nullable
    - `title` string, nullable
    - `classCode` string, nullable
    - `classType` string
    - `grades` string[]
    - `subjects` string[]
    - `course` OrGuidRef
      - `href` string, nullable
      - `sourcedId` string, nullable
      - `type` string, nullable
    - `school` OrGuidRef
      - `href` string, nullable
      - `sourcedId` string, nullable
      - `type` string, nullable
    - `terms` OrGuidRef[]
      - `href` string, nullable
      - `sourcedId` string, nullable
      - `type` string, nullable

## Other responses

- `401` — Unauthorized
- `403` — Caller is not an authorised service account

## Changes

- **2026-07-26** `87818d31ea72` — 2 info
  - api operation id `PanopticApiEndpointsExternalOneRosterGetOneRosterClassesEndpoint` removed and replaced with `PanopticApiEndpointsExternalOneRosterGetOneRosterClassesEndpoint1`
  - the security scope `ServiceAccount` was removed from the endpoint's security scheme `JWTBearerAuth`

[Change history](https://skmtc.dev/tonbridge/apis/tonbridge-app-api/changes/oneroster/classes/get.md)

---

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