Canvas Learning Object Dates API

The Learning Object Dates API from Canvas — 6 operation(s) for learning object dates.

Operations 11

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/courses/{course_id}/modules/{context_module_id}/date_details Get date details for a module · Get a learning object's date information #
Ask an LLM
“What availability dates and overrides apply to a course module?”
“Can I see which sections get a module on a different schedule?”
Tell an agent
Show the date details for module {context_module_id} in course {course_id}.
List the overrides attached to module {context_module_id} in course {course_id}.
GET /v1/courses/{course_id}/assignments/{assignment_id}/date_details Get date details for an assignment · Get a learning object's date information #
Ask an LLM
“Where can I see an assignment's base dates together with every override?”
“Does the assignment date summary say whether it is only visible to overridden students?”
Tell an agent
Show the date details for assignment {assignment_id} in course {course_id}.
Pull assignment {assignment_id}'s due, unlock and lock dates plus overrides in course {course_id}.
PUT /v1/courses/{course_id}/assignments/{assignment_id}/date_details Update date details for an assignment · Update a learning object's date information #
Ask an LLM
“Can I reset an assignment's dates and its overrides together in one request?”
“Is it possible to change the peer review due date along with the assignment dates?”
Tell an agent
Set assignment {assignment_id} in course {course_id} to be due {due_at} via its date details.
Give assignment {assignment_id} in course {course_id} peer reviews due {peer_review_due_at}.
GET /v1/courses/{course_id}/quizzes/{quiz_id}/date_details Get date details for a quiz · Get a learning object's date information #
Ask an LLM
“When does a quiz open, close and come due, including any exceptions?”
“Can I list the overrides on a classic quiz alongside its dates?”
Tell an agent
Show the date details for quiz {quiz_id} in course {course_id}.
Get the availability window and overrides for quiz {quiz_id} in course {course_id}.
PUT /v1/courses/{course_id}/quizzes/{quiz_id}/date_details Update date details for a quiz · Update a learning object's date information #
Ask an LLM
“Can I move a quiz's open and close times in a single update?”
“How do I restrict a quiz to only the students who have overrides?”
Tell an agent
Make quiz {quiz_id} in course {course_id} available from {unlock_at} until {lock_at}.
Set quiz {quiz_id} in course {course_id} visible only to overrides: {only_visible_to_overrides}.
GET /v1/courses/{course_id}/discussion_topics/{discussion_topic_id}/date_details Get date details for a discussion · Get a learning object's date information #
Ask an LLM
“What are the due and lock dates on a graded discussion?”
“Which students or sections have a different schedule for a discussion topic?”
Tell an agent
Show the date details for discussion {discussion_topic_id} in course {course_id}.
Get the overrides on discussion topic {discussion_topic_id} in course {course_id}.
PUT /v1/courses/{course_id}/discussion_topics/{discussion_topic_id}/date_details Update date details for a discussion · Update a learning object's date information #
Ask an LLM
“Can I change when a discussion closes for replies?”
“Is there a way to update a discussion's overrides and base dates together?”
Tell an agent
Lock discussion {discussion_topic_id} in course {course_id} at {lock_at}.
Replace the overrides on discussion {discussion_topic_id} in course {course_id} with {assignment_overrides}.
GET /v1/courses/{course_id}/pages/{url_or_id}/date_details Get date details for a wiki page · Get a learning object's date information #
Ask an LLM
“When does a course page become available to students?”
“Can I look up a page's availability by its URL slug instead of its id?”
Tell an agent
Show the date details for page {url_or_id} in course {course_id}.
Get the availability dates and overrides of wiki page {url_or_id} in course {course_id}.
PUT /v1/courses/{course_id}/pages/{url_or_id}/date_details Update date details for a wiki page · Update a learning object's date information #
Ask an LLM
“Can I schedule a course page to unlock on a certain date?”
“How do I give one section earlier access to a wiki page?”
Tell an agent
Unlock page {url_or_id} in course {course_id} at {unlock_at}.
Set the overrides on wiki page {url_or_id} in course {course_id} to {assignment_overrides}.
GET /v1/courses/{course_id}/files/{attachment_id}/date_details Get date details for a course file · Get a learning object's date information #
Ask an LLM
“When is a course file available for students to download?”
“Are there overrides on who can access an uploaded file and when?”
Tell an agent
Show the date details for file {attachment_id} in course {course_id}.
Get availability dates and overrides of course file {attachment_id} in course {course_id}.
PUT /v1/courses/{course_id}/files/{attachment_id}/date_details Update date details for a course file · Update a learning object's date information #
Ask an LLM
“Can I hide a file until a certain date and then lock it again later?”
“Is there a way to set different file availability for specific students?”
Tell an agent
Make file {attachment_id} in course {course_id} available from {unlock_at} to {lock_at}.
Apply overrides {assignment_overrides} to file {attachment_id} in course {course_id}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canvas:canvas-learning-object-dates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canvas-learning-object-dates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canvas LMS REST Learning Object Dates API
  version: v1
  summary: The complete Canvas LMS REST API, converted from the Swagger 1.2 documents Instructure publishes under https://canvas.instructure.com/doc/api/.
  description: The Canvas LMS REST API covers courses, assignments, quizzes, grades, users, enrollments, accounts, files, modules, rubrics, submissions, SIS imports, LTI, analytics and account administration.
  contact:
    name: Instructure Canvas
    url: https://canvas.instructure.com/doc/api/
  license:
    name: AGPL-3.0
    url: https://github.com/instructure/canvas-lms/blob/master/LICENSE
servers:
- url: https://canvas.instructure.com/api
  description: Instructure-hosted Canvas (canvas.instructure.com)
- url: https://{canvas_host}/api
  description: Any Canvas instance; Canvas is multi-tenant and self-hostable, so the host is the institution's Canvas domain.
  variables:
    canvas_host:
      default: canvas.instructure.com
      description: Your institution's Canvas hostname, e.g. school.instructure.com
security:
- bearerAuth: []
- oauth2: []
tags:


# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canvas/refs/heads/main/openapi/canvas-learning-object-dates-api-openapi.yml