How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Canvas Modules API

The Modules API from Canvas — 10 operation(s) for modules.

Canvas Modules API is one of 145 APIs that Canvas publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Modules. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, a GitHub repository, an API reference, and rate-limit docs.

This API exposes 17 operations across 10 paths, and defines 5 schemas. It is described by OpenAPI 3.2.0, at version v1.

Requests are made against 2 base URLs: https://canvas.instructure.com/api, https://{canvas_host}/api.

17 operations 10 paths 5 schemas 2 DELETE6 GET4 POST5 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
v1
Base URL
https://canvas.instructure.com/api/v1
Authentication
HTTP Bearer, OAuth 2.0
License
Resource Areas
1

Authentication & Security 2

Canvas Modules API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). It supports OAuth 2.0 (oauth2) using the authorizationCode flow. By default, every request must be authenticated.

  • bearerAuth — Canvas OAuth2 access token sent as "Authorization: Bearer ". See https://canvas.instructure.com/doc/api/file.oauth.html
  • oauth2 — Canvas OAuth2. See https://canvas.instructure.com/doc/api/file.oauth.html and https://canvas.instructure.com/doc/api/file.oauthendpoints.html

Paths & Operations 17

Across 10 paths, the API surfaces 17 operations — 2 DELETE, 6 GET, 4 POST, 5 PUT. Each is listed below with its method, path, parameters, and response codes.

Modules 17
GET
/v1/courses/{course_id}/modules
List modules
list_modules 4 params → 200
POST
/v1/courses/{course_id}/modules
Create a module
create_module 1 param body → 200
GET
/v1/courses/{course_id}/modules/{id}
Show module
show_module 4 params → 200
PUT
/v1/courses/{course_id}/modules/{id}
Update a module
update_module 2 params body → 200
DELETE
/v1/courses/{course_id}/modules/{id}
Delete module
delete_module 2 params → 200
PUT
/v1/courses/{course_id}/modules/{id}/relock
Re-lock module progressions
re_lock_module_progressions 2 params → 200
GET
/v1/courses/{course_id}/modules/{module_id}/items
List module items
list_module_items 5 params → 200
POST
/v1/courses/{course_id}/modules/{module_id}/items
Create a module item
create_module_item 2 params body → 200
GET
/v1/courses/{course_id}/modules/{module_id}/items/{id}
Show module item
show_module_item 5 params → 200
PUT
/v1/courses/{course_id}/modules/{module_id}/items/{id}
Update a module item
update_module_item 3 params body → 200
DELETE
/v1/courses/{course_id}/modules/{module_id}/items/{id}
Delete module item
delete_module_item 3 params → 200
POST
/v1/courses/{course_id}/modules/{module_id}/items/{id}/select_mastery_path
Select a mastery path
select_mastery_path 3 params body → 200
PUT
/v1/courses/{course_id}/modules/{module_id}/items/{id}/done
Mark module item as done/not done
mark_module_item_as_done_not_done 3 params → 200
GET
/v1/courses/{course_id}/module_item_sequence
Get module item sequence
get_module_item_sequence 3 params → 200
POST
/v1/courses/{course_id}/modules/{module_id}/items/{id}/mark_read
Mark module item read
mark_module_item_read 3 params → 200
GET
/v1/courses/{course_id}/modules/{context_module_id}/assignment_overrides
List a module's overrides
list_module_s_overrides 2 params → 200
PUT
/v1/courses/{course_id}/modules/{context_module_id}/assignment_overrides
Update a module's overrides
update_module_s_overrides 2 params body → 200

Schemas 5

The contract defines 5 schemas that model the data the API accepts and returns. The most detailed are Module__modules (15 properties), ModuleItem__modules (15 properties), ModuleAssignmentOverride (5 properties), ModuleItemSequenceNode (4 properties). Each schema is shown below with its type and property counts.

ModuleItemSequence
object
2 properties
ModuleAssignmentOverride
object
5 properties
ModuleItem__modules
object
15 properties
Module__modules
object
15 properties
ModuleItemSequenceNode
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

canvas-modules-api-openapi.yml Raw ↑

Other APIs Canvas publishes across the network.

Canvas LMS GraphQL API
Canvas LTI Integrations
Canvas Courses API
Canvas Access Tokens API
Canvas Accessibility Course Scans API
Canvas Accessibility Course Statistics API
Canvas Account Calendars API
Canvas Account Domain Lookups API
Canvas Account Notifications API
Canvas Account Reports API
Canvas Accounts API
Canvas Accounts (Lti) API
Where this information came from

This is an independent, third-party profile of Canvas Modules API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.