← providers

Google Classroom

Manage courses, rosters, and coursework in Google Classroom

Endpoints

Call these through the okoro proxy at https://okoro.ai/p/google-classroom

ActionMethodPathMin scope
List coursesGETread
Read courseGETread
Create coursePOSTwrite
Update coursePATCHupdate
Delete courseDELETEdelete
List studentsGETread
Add studentPOSTwrite
Remove studentDELETEdelete
List teachersGETread
Add teacherPOSTwrite
Remove teacherDELETEdelete
List courseworkGETread
Read courseworkGETread
Create courseworkPOSTwrite
Update courseworkPATCHupdate
Delete courseworkDELETEdelete

Examples

Every request requires a short-lived operation token scoped to a single action.

1. Get an operation token

Exchange your service token for a short-lived operation token scoped to a single action.

TOKEN=$(curl -sX POST "https://okoro.ai/t/tokens" \
  -H "Authorization: Bearer $OKORO_SERVICE_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"provider": "google-classroom", "scope": "read", "intent": "describe what you are doing"}' \
  | jq -r '.token')

2. Call the API

Use the operation token as a Bearer token. The proxy forwards the request to Google Classroom and logs the action.

List courses
curl -X GET "https://okoro.ai/p/google-classroom/courses" \
  -H "Authorization: Bearer $TOKEN"
Read course
curl -X GET "https://okoro.ai/p/google-classroom/courses/{id}" \
  -H "Authorization: Bearer $TOKEN"
Create course
curl -X POST "https://okoro.ai/p/google-classroom/courses" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Update course
curl -X PATCH "https://okoro.ai/p/google-classroom/courses/{id}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Delete course
curl -X DELETE "https://okoro.ai/p/google-classroom/courses/{id}" \
  -H "Authorization: Bearer $TOKEN"
List students
curl -X GET "https://okoro.ai/p/google-classroom/courses/{id}/students" \
  -H "Authorization: Bearer $TOKEN"
Add student
curl -X POST "https://okoro.ai/p/google-classroom/courses/{id}/students" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Remove student
curl -X DELETE "https://okoro.ai/p/google-classroom/courses/{id}/students/{id}" \
  -H "Authorization: Bearer $TOKEN"
List teachers
curl -X GET "https://okoro.ai/p/google-classroom/courses/{id}/teachers" \
  -H "Authorization: Bearer $TOKEN"
Add teacher
curl -X POST "https://okoro.ai/p/google-classroom/courses/{id}/teachers" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Remove teacher
curl -X DELETE "https://okoro.ai/p/google-classroom/courses/{id}/teachers/{id}" \
  -H "Authorization: Bearer $TOKEN"
List coursework
curl -X GET "https://okoro.ai/p/google-classroom/courses/{id}/courseWork" \
  -H "Authorization: Bearer $TOKEN"
Read coursework
curl -X GET "https://okoro.ai/p/google-classroom/courses/{id}/courseWork/{id}" \
  -H "Authorization: Bearer $TOKEN"
Create coursework
curl -X POST "https://okoro.ai/p/google-classroom/courses/{id}/courseWork" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Update coursework
curl -X PATCH "https://okoro.ai/p/google-classroom/courses/{id}/courseWork/{id}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
Delete coursework
curl -X DELETE "https://okoro.ai/p/google-classroom/courses/{id}/courseWork/{id}" \
  -H "Authorization: Bearer $TOKEN"

Scopes

Your service token must be configured with at least the required scope level.

read
GET
/courses /courses/* /courses/*/students /courses/*/teachers /courses/*/courseWork /courses/*/courseWork/*
write
GET POST
/courses /courses/* /courses/*/students /courses/*/teachers /courses/*/courseWork /courses/*/courseWork/*
update
GET POST PATCH
/courses /courses/* /courses/*/students /courses/*/teachers /courses/*/courseWork /courses/*/courseWork/*
delete
GET POST PATCH DELETE
/courses /courses/* /courses/*/students /courses/*/teachers /courses/*/courseWork /courses/*/courseWork/*
all
GET POST PATCH DELETE
/**