Конечные точки REST API для GitHub Classroom
Используйте REST API для взаимодействия с GitHub Classroom.
Get an assignment
Gets a GitHub Classroom assignment. Assignment will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.
Детализированные токены доступа для «Get an assignment»
Эта конечная точка работает со следующими точными типами маркеров:
Для тонкого маркера не требуются разрешения.
Эту конечную точку можно использовать без проверки подлинности, если запрашиваются только общедоступные ресурсы.
Параметры для «Get an assignment»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
assignment_id integer Обязательное полеThe unique identifier of the classroom assignment. |
HTTP-коды статуса ответа для «Get an assignment»
| Код состояния | Description |
|---|---|
200 | OK |
404 | Resource not found |
Примеры кода для «Get an assignment»
Пример запроса
curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/assignments/ASSIGNMENT_IDResponse
Status: 200{
"id": "12,",
"public_repo": "false,",
"title": "Intro to Binaries",
"type": "individual",
"invite_link": "https://classroom.github.com/a/Lx7jiUgx",
"invitations_enabled": "true,",
"slug": "intro-to-binaries",
"students_are_repo_admins": false,
"feedback_pull_requests_enabled": true,
"max_teams": 0,
"max_members": 0,
"editor": "codespaces",
"accepted": 100,
"submitted": 40,
"passing": 10,
"language": "ruby",
"deadline": "2011-01-26T19:06:43Z",
"stater_code_repository": {
"id": 1296269,
"full_name": "octocat/Hello-World",
"html_url": "https://github.com/octocat/Hello-World",
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"private": false,
"default_branch": "main"
},
"classroom": {
"id": 1296269,
"name": "Programming Elixir",
"archived": "false,",
"url": "https://classroom.github.com/classrooms/1-programming-elixir"
}
}List accepted assignments for an assignment
Lists any assignment repositories that have been created by students accepting a GitHub Classroom assignment. Accepted assignments will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.
Детализированные токены доступа для «List accepted assignments for an assignment»
Эта конечная точка работает со следующими точными типами маркеров:
Для тонкого маркера не требуются разрешения.
Эту конечную точку можно использовать без проверки подлинности, если запрашиваются только общедоступные ресурсы.
Параметры для «List accepted assignments for an assignment»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
assignment_id integer Обязательное полеThe unique identifier of the classroom assignment. |
| Имя., Тип, Description |
|---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." По умолчанию.: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." По умолчанию.: |
HTTP-коды статуса ответа для «List accepted assignments for an assignment»
| Код состояния | Description |
|---|---|
200 | OK |
Примеры кода для «List accepted assignments for an assignment»
Пример запроса
curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/assignments/ASSIGNMENT_ID/accepted_assignmentsResponse
Status: 200{
"id": "12,",
"submitted": "false,",
"passing": "false,",
"commit_count": 5,
"grade": "5/10",
"students": [
{
"id": 1,
"login": "octocat",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"html_url": "https://github.com/octocat"
}
],
"repository": {
"id": 1296269,
"full_name": "octocat/Hello-World",
"html_url": "https://github.com/octocat/Hello-World",
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"private": false,
"default_branch": "main"
},
"assignment": {
"id": "12,",
"public_repo": "false,",
"title": "Intro to Binaries",
"type": "individual",
"invite_link": "https://classroom.github.com/a/Lx7jiUgx",
"invitations_enabled": "true,",
"slug": "intro-to-binaries",
"students_are_repo_admins": false,
"feedback_pull_requests_enabled": true,
"max_teams": 0,
"max_members": 0,
"editor": "codespaces",
"accepted": 100,
"submitted": 40,
"passing": 10,
"language": "ruby",
"classroom": {
"id": 1296269,
"name": "Programming Elixir",
"archived": "false,",
"url": "https://classroom.github.com/classrooms/1-programming-elixir"
}
}
}Get assignment grades
Gets grades for a GitHub Classroom assignment. Grades will only be returned if the current user is an administrator of the GitHub Classroom for the assignment.
Детализированные токены доступа для «Get assignment grades»
Эта конечная точка работает со следующими точными типами маркеров:
Для тонкого маркера не требуются разрешения.
Эту конечную точку можно использовать без проверки подлинности, если запрашиваются только общедоступные ресурсы.
Параметры для «Get assignment grades»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
assignment_id integer Обязательное полеThe unique identifier of the classroom assignment. |
HTTP-коды статуса ответа для «Get assignment grades»
| Код состояния | Description |
|---|---|
200 | OK |
404 | Resource not found |
Примеры кода для «Get assignment grades»
Пример запроса
curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/assignments/ASSIGNMENT_ID/gradesResponse
Status: 200[
{
"assignment_name": "Introduction to Strings",
"assignment_url": "https://classroom.github.com/classrooms/1337/assignments/1337",
"starter_code_url": "",
"github_username": "octocat",
"roster_identifier": "octocat@github.com",
"student_repository_name": "intro-to-strings-1337-octocat",
"student_repository_url": "https://github.com/timeforschool/intro-to-strings-1337-octocat",
"submission_timestamp": "2018-11-12 01:02",
"points_awarded": 10,
"points_available": 15,
"group_name": "octocat-and-friends"
},
{
"assignment_name": "Introduction to Strings",
"assignment_url": "https://classroom.github.com/classrooms/1337/assignments/1337",
"starter_code_url": "",
"github_username": "monalisa",
"roster_identifier": "monalisa@github.com",
"student_repository_name": "intro-to-strings-1337-monalisa",
"student_repository_url": "https://github.com/timeforschool/intro-to-strings-1337-monalisa",
"submission_timestamp": "2018-11-12 01:11",
"points_awarded": 15,
"points_available": 15,
"group_name": "monalisa-and-friends"
}
]List classrooms
Lists GitHub Classroom classrooms for the current user. Classrooms will only be returned if the current user is an administrator of one or more GitHub Classrooms.
Детализированные токены доступа для «List classrooms»
Эта конечная точка работает со следующими точными типами маркеров:
Для тонкого маркера не требуются разрешения.
Эту конечную точку можно использовать без проверки подлинности, если запрашиваются только общедоступные ресурсы.
Параметры для «List classrooms»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." По умолчанию.: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." По умолчанию.: |
HTTP-коды статуса ответа для «List classrooms»
| Код состояния | Description |
|---|---|
200 | OK |
Примеры кода для «List classrooms»
Пример запроса
curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/classroomsResponse
Status: 200{
"id": 1296269,
"name": "Programming Elixir",
"archived": "false,",
"url": "https://classroom.github.com/classrooms/1-programming-elixir"
}Get a classroom
Gets a GitHub Classroom classroom for the current user. Classroom will only be returned if the current user is an administrator of the GitHub Classroom.
Детализированные токены доступа для «Get a classroom»
Эта конечная точка работает со следующими точными типами маркеров:
Для тонкого маркера не требуются разрешения.
Эту конечную точку можно использовать без проверки подлинности, если запрашиваются только общедоступные ресурсы.
Параметры для «Get a classroom»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
classroom_id integer Обязательное полеThe unique identifier of the classroom. |
HTTP-коды статуса ответа для «Get a classroom»
| Код состояния | Description |
|---|---|
200 | OK |
404 | Resource not found |
Примеры кода для «Get a classroom»
Пример запроса
curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/classrooms/CLASSROOM_IDResponse
Status: 200{
"id": 1296269,
"name": "Programming Elixir",
"archived": "false,",
"organization": {
"id": 1,
"login": "programming-elixir",
"node_id": "MDEyOk9yZ2FuaXphdGlvbjE=",
"html_url": "https://github.com/programming-elixir",
"name": "Learn how to build fault tolerant applications",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=4"
},
"url": "https://classroom.github.com/classrooms/1-programming-elixir"
}List assignments for a classroom
Lists GitHub Classroom assignments for a classroom. Assignments will only be returned if the current user is an administrator of the GitHub Classroom.
Детализированные токены доступа для «List assignments for a classroom»
Эта конечная точка работает со следующими точными типами маркеров:
Для тонкого маркера не требуются разрешения.
Эту конечную точку можно использовать без проверки подлинности, если запрашиваются только общедоступные ресурсы.
Параметры для «List assignments for a classroom»
| Имя., Тип, Description |
|---|
accept string Setting to |
| Имя., Тип, Description |
|---|
classroom_id integer Обязательное полеThe unique identifier of the classroom. |
| Имя., Тип, Description |
|---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." По умолчанию.: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." По умолчанию.: |
HTTP-коды статуса ответа для «List assignments for a classroom»
| Код состояния | Description |
|---|---|
200 | OK |
Примеры кода для «List assignments for a classroom»
Пример запроса
curl -L \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2026-03-10" \
https://api.github.com/classrooms/CLASSROOM_ID/assignmentsResponse
Status: 200{
"id": "12,",
"public_repo": "false,",
"title": "Intro to Binaries",
"type": "individual",
"invite_link": "https://classroom.github.com/a/Lx7jiUgx",
"invitations_enabled": "true,",
"slug": "intro-to-binaries",
"students_are_repo_admins": false,
"feedback_pull_requests_enabled": true,
"max_teams": 0,
"max_members": 0,
"editor": "codespaces",
"accepted": 100,
"submitted": 40,
"passing": 10,
"language": "ruby",
"deadline": "2020-01-11T11:59:22Z",
"classroom": {
"id": 1296269,
"name": "Programming Elixir",
"archived": "false,",
"url": "https://classroom.github.com/classrooms/1-programming-elixir"
}
}