Canvas Account Notifications API

The Account Notifications API from Canvas — 2 operation(s) for account notifications.

Operations 5

GET /v1/accounts/{account_id}/account_notifications Index of active global notification for the user #
POST /v1/accounts/{account_id}/account_notifications Create a global notification #
GET /v1/accounts/{account_id}/account_notifications/{id} Show a global notification #
PUT /v1/accounts/{account_id}/account_notifications/{id} Update a global notification #
DELETE /v1/accounts/{account_id}/account_notifications/{id} Close notification for user. Destroy notification for admin #

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-account-notifications-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-account-notifications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canvas LMS REST Account Notifications 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: Account Notifications
  x-resource: account_notifications
  externalDocs:
    url: https://canvas.instructure.com/doc/api/account_notifications.html
paths:
  /v1/accounts/{account_id}/account_notifications:
    get:
      tags:
      - Account Notifications
      operationId: index_of_active_global_notification_for_user
      summary: Index of active global notification for the user
      description: 'Returns a list of all global notifications in the account for the current user

        Any notifications that have been closed by the user will not be returned, unless

        a include_past parameter is passed in as true. Admins can request all global

        notifications for the account by passing in an include_all parameter.'
      parameters:
      - name: account_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: include_past
        in: query
        schema:
          type: boolean
        required: false
        description: Include past and dismissed global announcements.
      - name: include_all
        in: query
        schema:
          type: boolean
        required: false
        description: Include all global announcements, regardless of user's role or availability date. Only available to account admins.
      - name: show_is_closed
        in: query
        schema:
          type: boolean
        required: false
        description: Include a flag for each notification indicating whether it has been read by the user.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountNotification'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/account_notifications.html
    post:
      tags:
      - Account Notifications
      operationId: create_global_notification
      summary: Create a global notification
      description: Create and return a new global notification for an account.
      parameters:
      - name: account_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                account_notification[subject]:
                  type: string
                  description: The subject of the notification.
                account_notification[message]:
                  type: string
                  description: The message body of the notification.
                account_notification[start_at]:
                  type: string
                  format: date-time
                  description: 'The start date and time of the notification in ISO8601 format.

                    e.g. 2014-01-01T01:00Z'
                account_notification[end_at]:
                  type: string
                  format: date-time
                  description: 'The end date and time of the notification in ISO8601 format.

                    e.g. 2014-01-01T01:00Z'
                account_notification[icon]:
                  type: string
                  enum:
                  - warning
                  - information
                  - question
                  - error
                  - calendar
                  description: 'The icon to display with the notification.

                    Note: Defaults to warning.'
                account_notification_roles:
                  type: array
                  items:
                    type: string
                  description: "The role(s) to send global notification to.  Note:  ommitting this field will send to everyone\nExample:\n  account_notification_roles: [\"StudentEnrollment\", \"TeacherEnrollment\"]"
              required:
              - account_notification[subject]
              - account_notification[message]
              - account_notification[start_at]
              - account_notification[end_at]
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                account_notification[subject]:
                  type: string
                  description: The subject of the notification.
                account_notification[message]:
                  type: string
                  description: The message body of the notification.
                account_notification[start_at]:
                  type: string
                  format: date-time
                  description: 'The start date and time of the notification in ISO8601 format.

                    e.g. 2014-01-01T01:00Z'
                account_notification[end_at]:
                  type: string
                  format: date-time
                  description: 'The end date and time of the notification in ISO8601 format.

                    e.g. 2014-01-01T01:00Z'
                account_notification[icon]:
                  type: string
                  enum:
                  - warning
                  - information
                  - question
                  - error
                  - calendar
                  description: 'The icon to display with the notification.

                    Note: Defaults to warning.'
                account_notification_roles:
                  type: array
                  items:
                    type: string
                  description: "The role(s) to send global notification to.  Note:  ommitting this field will send to everyone\nExample:\n  account_notification_roles: [\"StudentEnrollment\", \"TeacherEnrollment\"]"
              required:
              - account_notification[subject]
              - account_notification[message]
              - account_notification[start_at]
              - account_notification[end_at]
      responses:
        '200':
          description: Success, no content returned
      externalDocs:
        url: https://canvas.instructure.com/doc/api/account_notifications.html
  /v1/accounts/{account_id}/account_notifications/{id}:
    get:
      tags:
      - Account Notifications
      operationId: show_global_notification
      summary: Show a global notification
      description: 'Returns a global notification for the current user

        A notification that has been closed by the user will not be returned'
      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/AccountNotification'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/account_notifications.html
    put:
      tags:
      - Account Notifications
      operationId: update_global_notification
      summary: Update a global notification
      description: Update global notification for an account.
      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:
                account_notification[subject]:
                  type: string
                  description: The subject of the notification.
                account_notification[message]:
                  type: string
                  description: The message body of the notification.
                account_notification[start_at]:
                  type: string
                  format: date-time
                  description: 'The start date and time of the notification in ISO8601 format.

                    e.g. 2014-01-01T01:00Z'
                account_notification[end_at]:
                  type: string
                  format: date-time
                  description: 'The end date and time of the notification in ISO8601 format.

                    e.g. 2014-01-01T01:00Z'
                account_notification[icon]:
                  type: string
                  enum:
                  - warning
                  - information
                  - question
                  - error
                  - calendar
                  description: The icon to display with the notification.
                account_notification_roles:
                  type: array
                  items:
                    type: string
                  description: "The role(s) to send global notification to.  Note:  ommitting this field will send to everyone\nExample:\n  account_notification_roles: [\"StudentEnrollment\", \"TeacherEnrollment\"]"
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                account_notification[subject]:
                  type: string
                  description: The subject of the notification.
                account_notification[message]:
                  type: string
                  description: The message body of the notification.
                account_notification[start_at]:
                  type: string
                  format: date-time
                  description: 'The start date and time of the notification in ISO8601 format.

                    e.g. 2014-01-01T01:00Z'
                account_notification[end_at]:
                  type: string
                  format: date-time
                  description: 'The end date and time of the notification in ISO8601 format.

                    e.g. 2014-01-01T01:00Z'
                account_notification[icon]:
                  type: string
                  enum:
                  - warning
                  - information
                  - question
                  - error
                  - calendar
                  description: The icon to display with the notification.
                account_notification_roles:
                  type: array
                  items:
                    type: string
                  description: "The role(s) to send global notification to.  Note:  ommitting this field will send to everyone\nExample:\n  account_notification_roles: [\"StudentEnrollment\", \"TeacherEnrollment\"]"
      responses:
        '200':
          description: Success, no content returned
      externalDocs:
        url: https://canvas.instructure.com/doc/api/account_notifications.html
    delete:
      tags:
      - Account Notifications
      operationId: close_notification_for_user_destroy_notification_for_admin
      summary: Close notification for user. Destroy notification for admin
      description: 'If the current user no longer wants to see this account notification, it can be closed with this call.

        This affects the current user only.


        If the current user is an admin and they pass a remove parameter with a value of "true", the account notification

        will be destroyed. This affects all users.'
      parameters:
      - name: account_id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: id
        in: path
        schema:
          type: string
        required: true
        description: ID
      - name: remove
        in: query
        schema:
          type: boolean
        required: false
        description: Destroy the account notification.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountNotification'
      externalDocs:
        url: https://canvas.instructure.com/doc/api/account_notifications.html
components:
  schemas:
    AccountNotification:
      type: object
      properties:
        subject:
          type: string
          example: Attention Students
          description: The subject of the notifications
        message:
          type: string
          example: This is a test of the notification system.
          description: The message to be sent in the notification.
        start_at:
          type: string
          format: date-time
          example: '2013-08-28T23:59:00-06:00'
          description: When to send out the notification.
        end_at:
          type: string
          format: date-time
          example: '2013-08-29T23:59:00-06:00'
          description: When to expire the notification.
        icon:
          type: string
          example: information
          description: The icon to display with the message.  Defaults to warning.
        roles:
          type: array
          items:
            type: string
          example:
          - StudentEnrollment
          description: (Deprecated) The roles to send the notification to.  If roles is not passed it defaults to all roles
        role_ids:
          type: array
          items:
            type: integer
          example:
          - 1
          description: The roles to send the notification to.  If roles is not passed it defaults to all roles
        author:
          type: object
          additionalProperties: true
          example:
            id: 1
            name: John Doe
          description: The author of the notification. Available only to admins using include_all.
  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