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