Canvas

Get active courses

get

Retrieve a list of active courses for the user.

Authorizations
Query parameters
pagenumber · min: 1Optional

Page number (must be greater than 0)

Default: 1
pageSizenumber · min: 1 · max: 100Optional

Number of items per page (must be between 1 and 100)

Default: 20
Responses
200

The courses are successfully retrieved.

application/json
get
GET /v1/canvas/courses HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

The courses are successfully retrieved.

[
  {
    "id": 1,
    "courseCode": "text",
    "name": "text",
    "assignmentCount": 1,
    "membersCount": 1,
    "learnerGroupCount": 1,
    "termName": "text",
    "url": "text"
  }
]

Get graded submissions

get

Get graded submissions for the authenticated user. Note: This endpoint returns submissions for all courses the user is enrolled in.

Authorizations
Query parameters
pagenumber · min: 1Optional

Page number (must be greater than 0)

Default: 1
pageSizenumber · min: 1 · max: 100Optional

Number of items per page (must be between 1 and 100)

Default: 20
courseIdnumberRequired
Responses
default
application/json
get
GET /v1/canvas/submissions?courseId=1 HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
[
  {
    "id": 1,
    "assignmentId": 1,
    "assignment": {
      "id": 1,
      "userId": "text",
      "name": "text",
      "courseName": "text",
      "description": "text",
      "courseId": 1,
      "gradingType": "text",
      "htmlUrl": "text",
      "createdAt": "2025-10-13T23:07:24.952Z",
      "pointsPossible": 1,
      "submissionTypes": [
        "text"
      ]
    },
    "course": {
      "id": 1,
      "uuid": "text",
      "rootAccountId": 1,
      "accountId": 1,
      "name": "text",
      "membersCount": 1,
      "createdAt": "2025-10-13T23:07:24.952Z",
      "courseCode": "text",
      "startAt": "2025-10-13T23:07:24.952Z",
      "endAt": "2025-10-13T23:07:24.952Z",
      "termName": "text"
    },
    "grade": "text",
    "gradedAt": "2025-10-13T23:07:24.952Z",
    "score": 1,
    "htmlUrl": "text",
    "submissionType": "text",
    "body": "text",
    "url": "text"
  }
]

Get submission details for a specific student's assignment

get
Authorizations
Path parameters
courseIdnumberRequired
studentIdnumberRequired
assignmentIdnumberRequired
Responses
default
application/json
get
GET /v1/canvas/courses/{courseId}/students/{studentId}/assignments/{assignmentId}/submissions HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
{
  "assignmentId": 1,
  "assignmentName": "text",
  "assignmentDescription": "text",
  "courseId": 1,
  "courseName": "text",
  "htmlUrl": "text",
  "submissionType": "text",
  "submissionLink": "text",
  "body": "text",
  "pointsPossible": 1,
  "gradingType": "text",
  "score": 1,
  "commentCount": 1,
  "status": "unsubmitted",
  "createdAt": "2025-10-13T23:07:24.952Z"
}

Get all submission details for a specific user

get
Authorizations
Path parameters
canvasUserIdnumberRequired
Responses
default
application/json
get
GET /v1/canvas/users/{canvasUserId}/submissions HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
[
  {
    "assignmentId": 1,
    "assignmentName": "text",
    "assignmentDescription": "text",
    "courseId": 1,
    "courseName": "text",
    "htmlUrl": "text",
    "submissionType": "text",
    "submissionLink": "text",
    "body": "text",
    "pointsPossible": 1,
    "gradingType": "text",
    "score": 1,
    "commentCount": 1,
    "status": "unsubmitted",
    "createdAt": "2025-10-13T23:07:24.952Z"
  }
]

Get Canvas groups

get

Retrieve a list of Canvas groups for the user.

Authorizations
Query parameters
pagenumber · min: 1Optional

Page number (must be greater than 0)

Default: 1
pageSizenumber · min: 1 · max: 100Optional

Number of items per page (must be between 1 and 100)

Default: 20
Responses
default
application/json
get
GET /v1/canvas/groups HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
[
  {
    "id": 201,
    "name": "Project Team Alpha",
    "description": "Team responsible for module 1.",
    "membersCount": 5,
    "contextType": "Course",
    "courseId": 101
  }
]

Get users by groupId

get
Authorizations
Path parameters
idnumberRequired
Query parameters
pagenumber · min: 1Optional

Page number (must be greater than 0)

Default: 1
pageSizenumber · min: 1 · max: 100Optional

Number of items per page (must be between 1 and 100)

Default: 20
Responses
default
application/json
get
GET /v1/canvas/groups/{id}/users HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
[
  {
    "canvasUserId": 1,
    "name": "text",
    "sortableName": "text",
    "email": "text",
    "avatarUrl": "text"
  }
]

Get users by courseId

get
Authorizations
Path parameters
idnumberRequired
Query parameters
pagenumber · min: 1Optional

Page number (must be greater than 0)

Default: 1
pageSizenumber · min: 1 · max: 100Optional

Number of items per page (must be between 1 and 100)

Default: 20
Responses
default
application/json
get
GET /v1/canvas/courses/{id}/users HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
[
  {
    "canvasUserId": 1,
    "name": "text",
    "sortableName": "text",
    "email": "text",
    "avatarUrl": "text"
  }
]

Get teammatesByStudentId

get
Authorizations
Query parameters
pagenumber · min: 1Optional

Page number (must be greater than 0)

Default: 1
pageSizenumber · min: 1 · max: 100Optional

Number of items per page (must be between 1 and 100)

Default: 20
teammateCanvasIdsnumber[]Required

Canvas user ids of student teammates

Responses
default
application/json
get
GET /v1/canvas/teammates?teammateCanvasIds=1 HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
[
  {
    "canvasUserId": 1,
    "name": "text",
    "email": "text",
    "avatarUrl": "text"
  }
]

Get groups by courseId

get
Authorizations
Path parameters
idnumberRequired
Query parameters
pagenumber · min: 1Optional

Page number (must be greater than 0)

Default: 1
pageSizenumber · min: 1 · max: 100Optional

Number of items per page (must be between 1 and 100)

Default: 20
Responses
default
application/json
get
GET /v1/canvas/courses/{id}/groups HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
[
  {
    "id": 201,
    "name": "Project Team Alpha",
    "description": "Team responsible for module 1.",
    "membersCount": 5,
    "contextType": "Course",
    "courseId": 101
  }
]

Get assignments by courseId

get
Authorizations
Path parameters
idnumberRequired
Query parameters
pagenumber · min: 1Optional

Page number (must be greater than 0)

Default: 1
pageSizenumber · min: 1 · max: 100Optional

Number of items per page (must be between 1 and 100)

Default: 20
Responses
default
application/json
get
GET /v1/canvas/courses/{id}/assignments HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
[
  {
    "id": 1,
    "userId": "text",
    "name": "text",
    "courseName": "text",
    "description": "text",
    "courseId": 1,
    "gradingType": "text",
    "htmlUrl": "text",
    "createdAt": "2025-10-13T23:07:24.952Z",
    "pointsPossible": 1,
    "submissionTypes": [
      "text"
    ]
  }
]

Get assignment by courseId and assignmentId

get
Authorizations
Path parameters
courseIdnumberRequired
assignmentIdnumberRequired
Query parameters
pagenumber · min: 1Optional

Page number (must be greater than 0)

Default: 1
pageSizenumber · min: 1 · max: 100Optional

Number of items per page (must be between 1 and 100)

Default: 20
Responses
default
application/json
get
GET /v1/canvas/courses/{courseId}/{assignmentId} HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
[
  {
    "id": 1,
    "userId": "text",
    "name": "text",
    "courseName": "text",
    "description": "text",
    "courseId": 1,
    "gradingType": "text",
    "htmlUrl": "text",
    "createdAt": "2025-10-13T23:07:24.952Z",
    "pointsPossible": 1,
    "submissionTypes": [
      "text"
    ]
  }
]

Get Canvas environment features

get
Authorizations
Responses
default
application/json
get
GET /v1/canvas/features/environment HTTP/1.1
Host: 
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
default
{
  "sendUsageMetrics": true
}

Last updated

Was this helpful?