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 ". 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