Pontos de extremidade da API REST para o GitHub Classroom
Utilize a API REST para interagir com o 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.
Tokens de acesso granulares para "Get an assignment"
Este endpoint funciona com os seguintes tipos de token granulares:
O token refinado não exige permissões.
Este endpoint pode ser usado sem autenticação caso sejam solicitados apenas recursos públicos.
Parâmetros para "Get an assignment"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
assignment_id integer ObrigatórioThe unique identifier of the classroom assignment. |
Códigos de status de resposta HTTP para "Get an assignment"
| Código de status | Descrição |
|---|---|
200 | OK |
404 | Resource not found |
Exemplos de código para "Get an assignment"
Exemplo de solicitação
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.
Tokens de acesso granulares para "List accepted assignments for an assignment"
Este endpoint funciona com os seguintes tipos de token granulares:
O token refinado não exige permissões.
Este endpoint pode ser usado sem autenticação caso sejam solicitados apenas recursos públicos.
Parâmetros para "List accepted assignments for an assignment"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
assignment_id integer ObrigatórioThe unique identifier of the classroom assignment. |
| Nome, Tipo, Descrição |
|---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Padrão: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Padrão: |
Códigos de status de resposta HTTP para "List accepted assignments for an assignment"
| Código de status | Descrição |
|---|---|
200 | OK |
Exemplos de código para "List accepted assignments for an assignment"
Exemplo de solicitação
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.
Tokens de acesso granulares para "Get assignment grades"
Este endpoint funciona com os seguintes tipos de token granulares:
O token refinado não exige permissões.
Este endpoint pode ser usado sem autenticação caso sejam solicitados apenas recursos públicos.
Parâmetros para "Get assignment grades"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
assignment_id integer ObrigatórioThe unique identifier of the classroom assignment. |
Códigos de status de resposta HTTP para "Get assignment grades"
| Código de status | Descrição |
|---|---|
200 | OK |
404 | Resource not found |
Exemplos de código para "Get assignment grades"
Exemplo de solicitação
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.
Tokens de acesso granulares para "List classrooms"
Este endpoint funciona com os seguintes tipos de token granulares:
O token refinado não exige permissões.
Este endpoint pode ser usado sem autenticação caso sejam solicitados apenas recursos públicos.
Parâmetros para "List classrooms"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Padrão: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Padrão: |
Códigos de status de resposta HTTP para "List classrooms"
| Código de status | Descrição |
|---|---|
200 | OK |
Exemplos de código para "List classrooms"
Exemplo de solicitação
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.
Tokens de acesso granulares para "Get a classroom"
Este endpoint funciona com os seguintes tipos de token granulares:
O token refinado não exige permissões.
Este endpoint pode ser usado sem autenticação caso sejam solicitados apenas recursos públicos.
Parâmetros para "Get a classroom"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
classroom_id integer ObrigatórioThe unique identifier of the classroom. |
Códigos de status de resposta HTTP para "Get a classroom"
| Código de status | Descrição |
|---|---|
200 | OK |
404 | Resource not found |
Exemplos de código para "Get a classroom"
Exemplo de solicitação
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.
Tokens de acesso granulares para "List assignments for a classroom"
Este endpoint funciona com os seguintes tipos de token granulares:
O token refinado não exige permissões.
Este endpoint pode ser usado sem autenticação caso sejam solicitados apenas recursos públicos.
Parâmetros para "List assignments for a classroom"
| Nome, Tipo, Descrição |
|---|
accept string Setting to |
| Nome, Tipo, Descrição |
|---|
classroom_id integer ObrigatórioThe unique identifier of the classroom. |
| Nome, Tipo, Descrição |
|---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Padrão: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Padrão: |
Códigos de status de resposta HTTP para "List assignments for a classroom"
| Código de status | Descrição |
|---|---|
200 | OK |
Exemplos de código para "List assignments for a classroom"
Exemplo de solicitação
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"
}
}