Skip to main content
Canvas LMS API for accessing courses, assignments, grades, discussions, and calendar across university and K-12 institutions. Best for student productivity workflows — checking due dates, viewing grades, reading course content, and submitting assignments. Institution-specific base URLs (.instructure.com or canvas..edu). 5 example endpoints available through Lava’s AI Gateway. See the Canvas LMS API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a catch-all provider — any valid URL under https://canvas.instructure.com is supported. Canvas LMS API. URL is institution-specific: https://.instructure.com/api/v1/ or https://canvas.{school}.edu/api/v1/{path}. See https://canvas.instructure.com/doc/api/ for full reference. The endpoints below are curated examples.

Endpoints

List enrolled courses

GET https://<canvas>.instructure.com/api/v1/courses — Free
const data = await lava.gateway('https://<canvas>.instructure.com/api/v1/courses', { method: 'GET' });

Unified planner feed (assignments, quizzes, discussions with due dates)

GET https://<canvas>.instructure.com/api/v1/planner/items — Free
const data = await lava.gateway('https://<canvas>.instructure.com/api/v1/planner/items', { method: 'GET' });

Submit an assignment

POST https://<canvas>.instructure.com/api/v1/courses/{course_id}/assignments/{assignment_id}/submissions — Free
const data = await lava.gateway('https://<canvas>.instructure.com/api/v1/courses/{course_id}/assignments/{assignment_id}/submissions', {
  body: {
"submission[submission_type]": "online_text_entry",
"submission[body]": "My submission text"
},
});

Update planner item (mark complete)

PUT https://<canvas>.instructure.com/api/v1/planner/items/{id} — Free
const data = await lava.gateway('https://<canvas>.instructure.com/api/v1/planner/items/{id}', { method: 'PUT' });

Delete a personal calendar event

DELETE https://<canvas>.instructure.com/api/v1/calendar_events/{id} — Free
const data = await lava.gateway('https://<canvas>.instructure.com/api/v1/calendar_events/{id}', { method: 'DELETE' });

Next Steps

All Providers

Browse all supported AI providers

Forward Proxy

Learn how to construct proxy URLs and authenticate requests