Canvas Blackout Dates API

The Blackout Dates API from Canvas — 6 operation(s) for blackout dates.

Operations 13

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}/blackout_dates List a course's blackout dates · List blackout dates #
Ask an LLM
“Which days are blocked out from scheduling in my Canvas course?”
“How do I see the blackout dates set on a course for pacing?”
Tell an agent
List the blackout dates for course {course_id}.
Show every no-class day configured on course {course_id}.
POST /v1/courses/{course_id}/blackout_dates Add a blackout date to a course · Create Blackout Date #
Ask an LLM
“How do I block out spring break in one course's schedule?”
“Can I give a course blackout date a title like Holiday?”
Tell an agent
Add a blackout date to course {course_id} from {start_date} to {end_date} called {event_title}.
Block out {start_date} in course {course_id}.
PUT /v1/courses/{course_id}/blackout_dates Sync a course's full list of blackout dates · Update a list of Blackout Dates #
Ask an LLM
“Can I replace all of a course's blackout dates in one call?”
“Will blackout dates missing from my bulk update be deleted from the course?”
Tell an agent destructive · confirm first
Replace the whole blackout date list on course {course_id} with {blackout_dates}.
Bulk sync course {course_id} blackout dates so they match {blackout_dates}.
GET /v1/accounts/{account_id}/blackout_dates List an account's blackout dates · List blackout dates #
Ask an LLM
“What blackout dates are set at the account level for my institution?”
“Can I see sub-account-wide blackout dates?”
Tell an agent
List the blackout dates for account {account_id}.
Show account-wide blocked days for account {account_id}.
POST /v1/accounts/{account_id}/blackout_dates Add a blackout date to an account · Create Blackout Date #
Ask an LLM
“How do I add a blackout date that applies to a whole account?”
“Can I create an institution-wide holiday as a blackout date?”
Tell an agent
Add an account {account_id} blackout date from {start_date} to {end_date} titled {event_title}.
Create an account-level blackout on {start_date} for account {account_id}.
GET /v1/courses/{course_id}/blackout_dates/{id} Get one blackout date in a course · Get a single blackout date #
Ask an LLM
“How do I look up a single course blackout date by its id?”
“What are the start and end dates of a specific blackout in my course?”
Tell an agent
Show blackout date {id} in course {course_id}.
Get the details of course {course_id} blackout {id}.
PUT /v1/courses/{course_id}/blackout_dates/{id} Update a course blackout date · Update Blackout Date #
Ask an LLM
“Can I change the end date of an existing course blackout?”
“How do I rename a blackout date in my course?”
Tell an agent
Change course {course_id} blackout {id} to end on {end_date}.
Rename blackout date {id} in course {course_id} to {event_title}.
DELETE /v1/courses/{course_id}/blackout_dates/{id} Delete a course blackout date · Delete Blackout Date #
Ask an LLM
“How do I remove a blackout date from a course?”
“Can I delete one course blackout without touching the others?”
Tell an agent destructive · confirm first
Delete blackout date {id} from course {course_id}.
Remove course {course_id} blackout {id}.
GET /v1/accounts/{account_id}/blackout_dates/{id} Get one blackout date in an account · Get a single blackout date #
Ask an LLM
“How do I fetch a single account-level blackout date?”
“What dates does a particular account blackout cover?”
Tell an agent
Show blackout date {id} in account {account_id}.
Get account {account_id} blackout {id} details.
PUT /v1/accounts/{account_id}/blackout_dates/{id} Update an account blackout date · Update Blackout Date #
Ask an LLM
“Can I move an account-wide blackout to different dates?”
“How do I edit the title of an account blackout date?”
Tell an agent
Move account {account_id} blackout {id} to start {start_date} and end {end_date}.
Retitle account {account_id} blackout date {id} as {event_title}.
DELETE /v1/accounts/{account_id}/blackout_dates/{id} Delete an account blackout date · Delete Blackout Date #
Ask an LLM
“How do I delete an account-level blackout date?”
“Can I remove an institution-wide blackout I no longer need?”
Tell an agent destructive · confirm first
Delete blackout date {id} from account {account_id}.
Remove account {account_id} blackout {id}.
GET /v1/courses/{course_id}/blackout_dates/new Initialize an unsaved course blackout date · New Blackout Date #
Ask an LLM
“What does a blank, unsaved blackout date look like for a course?”
“Can I get a template blackout date object for a course before saving one?”
Tell an agent
Initialize a new unsaved blackout date for course {course_id}.
Give me a blank blackout date template for course {course_id}.
GET /v1/accounts/{account_id}/blackout_dates/new Initialize an unsaved account blackout date · New Blackout Date #
Ask an LLM
“What default fields does an unsaved account blackout date have?”
“Can I get an empty blackout date object for an account?”
Tell an agent
Initialize a new unsaved blackout date for account {account_id}.
Give me a blank account blackout template for account {account_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-blackout-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-blackout-dates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canvas LMS REST Blackout 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:
- name: Blackout Dates
  x-resource: blackout_dates
  externalDocs:
    url: https://canvas.instructure.com/doc/api/blackout_dates.html
paths:
  /v1/courses/{course_id}/blackout_dates:
    get:
      tags:
      - Blackout Dates
      operationId: list_blackout_dates_courses
      summary: List blackout dates
      description: Returns the list of blackout dates for the current context.
      parameters:
      - name: course_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
    post:
      tags:
      - Blackout Dates
      operationId: create_blackout_date_courses
      summary: Create Blackout Date
      description: Create a blackout date for the given context.
      parameters:
      - name: course_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  format: date
                  description: The start date of the blackout date.
                end_date:
                  type: string
                  format: date
                  description: The end date of the blackout date.
                event_title:
                  type: string
                  description: The title of the blackout date.
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  format: date
                  description: The start date of the blackout date.
                end_date:
                  type: string
                  format: date
                  description: The end date of the blackout date.
                event_title:
                  type: string
                  description: The title of the blackout date.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
    put:
      tags:
      - Blackout Dates
      operationId: update_list_of_blackout_dates
      summary: Update a list of Blackout Dates
      description: Create, update, and delete blackout dates to sync the db with the incoming data.
      parameters:
      - name: course_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                'blackout_dates:':
                  type: string
                  description: '[blackout_date, ...]

                    An object containing the array of BlackoutDates we want to exist after this operation.

                    For array entries, if it has an id it will be updated, if not created, and if

                    an existing BlackoutDate id is missing from the array, it will be deleted.'
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                'blackout_dates:':
                  type: string
                  description: '[blackout_date, ...]

                    An object containing the array of BlackoutDates we want to exist after this operation.

                    For array entries, if it has an id it will be updated, if not created, and if

                    an existing BlackoutDate id is missing from the array, it will be deleted.'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
                  x-canvas-declared-type: BlackoutDate The result (which should match the input with maybe some different IDs).
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
  /v1/accounts/{account_id}/blackout_dates:
    get:
      tags:
      - Blackout Dates
      operationId: list_blackout_dates_accounts
      summary: List blackout dates
      description: Returns the list of blackout dates for the current context.
      parameters:
      - name: account_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
    post:
      tags:
      - Blackout Dates
      operationId: create_blackout_date_accounts
      summary: Create Blackout Date
      description: Create a blackout date for the given context.
      parameters:
      - name: account_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  format: date
                  description: The start date of the blackout date.
                end_date:
                  type: string
                  format: date
                  description: The end date of the blackout date.
                event_title:
                  type: string
                  description: The title of the blackout date.
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  format: date
                  description: The start date of the blackout date.
                end_date:
                  type: string
                  format: date
                  description: The end date of the blackout date.
                event_title:
                  type: string
                  description: The title of the blackout date.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
  /v1/courses/{course_id}/blackout_dates/{id}:
    get:
      tags:
      - Blackout Dates
      operationId: get_single_blackout_date_courses
      summary: Get a single blackout date
      description: Returns the blackout date with the given id.
      parameters:
      - name: course_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
    put:
      tags:
      - Blackout Dates
      operationId: update_blackout_date_courses
      summary: Update Blackout Date
      description: Update a blackout date for the given context.
      parameters:
      - name: course_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: ID
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  format: date
                  description: The start date of the blackout date.
                end_date:
                  type: string
                  format: date
                  description: The end date of the blackout date.
                event_title:
                  type: string
                  description: The title of the blackout date.
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  format: date
                  description: The start date of the blackout date.
                end_date:
                  type: string
                  format: date
                  description: The end date of the blackout date.
                event_title:
                  type: string
                  description: The title of the blackout date.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
    delete:
      tags:
      - Blackout Dates
      operationId: delete_blackout_date_courses
      summary: Delete Blackout Date
      description: Delete a blackout date for the given context.
      parameters:
      - name: course_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
  /v1/accounts/{account_id}/blackout_dates/{id}:
    get:
      tags:
      - Blackout Dates
      operationId: get_single_blackout_date_accounts
      summary: Get a single blackout date
      description: Returns the blackout date with the given id.
      parameters:
      - name: account_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
    put:
      tags:
      - Blackout Dates
      operationId: update_blackout_date_accounts
      summary: Update Blackout Date
      description: Update a blackout date for the given context.
      parameters:
      - name: account_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: ID
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  format: date
                  description: The start date of the blackout date.
                end_date:
                  type: string
                  format: date
                  description: The end date of the blackout date.
                event_title:
                  type: string
                  description: The title of the blackout date.
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                start_date:
                  type: string
                  format: date
                  description: The start date of the blackout date.
                end_date:
                  type: string
                  format: date
                  description: The end date of the blackout date.
                event_title:
                  type: string
                  description: The title of the blackout date.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
    delete:
      tags:
      - Blackout Dates
      operationId: delete_blackout_date_accounts
      summary: Delete Blackout Date
      description: Delete a blackout date for the given context.
      parameters:
      - name: account_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
  /v1/courses/{course_id}/blackout_dates/new:
    get:
      tags:
      - Blackout Dates
      operationId: new_blackout_date_courses
      summary: New Blackout Date
      description: Initialize an unsaved Blackout Date for the given context.
      parameters:
      - name: course_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
  /v1/accounts/{account_id}/blackout_dates/new:
    get:
      tags:
      - Blackout Dates
      operationId: new_blackout_date_accounts
      summary: New Blackout Date
      description: Initialize an unsaved Blackout Date for the given context.
      parameters:
      - name: account_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlackoutDate'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/blackout_dates.html
components:
  schemas:
    BlackoutDate:
      type: object
      properties:
        id:
          type: integer
          example: 1
          description: the ID of the blackout date
        context_id:
          type: integer
          example: 1
          description: the context owning the blackout date
        context_type:
          type: string
          example: Course
        start_date:
          type: string
          format: date-time
          example: '2022-01-01'
          description: the start date of the blackout date
        end_date:
          type: string
          format: date-time
          example: '2022-01-02'
          description: the end date of the blackout date
        event_title:
          type: string
          example: some title
          description: title of the blackout date
      description: Blackout dates are used to prevent scheduling assignments on a given date in course pacing.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Canvas OAuth2 access token sent as "Authorization: Bearer <token>". See https://canvas.instructure.com/doc/api/file.oauth.html'
    oauth2:
      type: oauth2
      description: Canvas OAuth2. See https://canvas.instructure.com/doc/api/file.oauth.html and https://canvas.instructure.com/doc/api/file.oauth_endpoints.html
      flows:
        authorizationCode:
          authorizationUrl: https://canvas.instructure.com/login/oauth2/auth
          tokenUrl: https://canvas.instructure.com/login/oauth2/token
          refreshUrl: https://canvas.instructure.com/login/oauth2/token
          scopes: {}
externalDocs:
  description: Canvas LMS REST API Documentation
  url: https://canvas.instructure.com/doc/api/
x-generated-from: https://canvas.instructure.com/doc/api/api-docs.json
x-provenance:
  method: derived
  derived_by: API Evangelist enrichment pipeline (Swagger 1.2 -> OpenAPI 3.1 conversion)
  source: openapi/_original/swagger-1.2/*.json (144 verbatim first-party Swagger 1.2 documents)
  source_url: https://canvas.instructure.com/doc/api/api-docs.json
  fetched: '2026-09-05'
  http_status: 200