---
title: "Check Class Code"
method: POST
path: "/public/check-class-code"
tags: ["public"]
---

# Check Class Code

`POST /public/check-class-code`

## Request

- Base URL: `https://api.excellence-ai.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.excellence-ai.com/public/check-class-code`
- Auth: none declared

Whether a class code names a class a student can still join, and nothing
else: no class, teacher or roster details, no reason for a refusal. What the
signup form asks before an under-15 sends its code (EXC-1454); `/register`
runs the same rule again, so the answer here is a courtesy, not the gate.

## Request body

- ValidateClassCodeRequest
  - `class_code` string, required: The class code to validate

## Response `200`

Successful Response

- CheckClassCodeResponse
  - `is_valid` boolean, required: Whether the code names a class a student can still join

## Other responses

- `422`: Validation Error

## Changes

> 55 revisions in range; 1 not diffed.

- **2026-10-13** `60775565116f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/excellence-ai/apis/excellence-learning/changes/public/check-class-code/post.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/379e4a57dee8?raw)
