Instructure · OAuth Scopes

Instructure OAuth Scopes

OAuth 2.0 searched

Instructure publishes 17 OAuth 2.0 scopes via the authorizationCode flow. Scopes are the fine-grained permissions an application requests at authorization time to act against the Instructure API on a user’s behalf.

Tokens are issued from https://{canvas_domain}/login/oauth2/token.

This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.

EdTechEducationLMSCanvasCoursesEnrollmentsAssignmentsGradesDiscussionsGraphQLLTILearning Management
Scopes: 17 Flows: authorizationCode Method: searched

OAuth endpoints

Authorization URL
https://{canvas_domain}/login/oauth2/auth
Token URL
https://{canvas_domain}/login/oauth2/token
Flows
authorizationCode

Scopes (17)

ScopeDescriptionFlows
/auth/userinfo Allows an application to rely on Canvas for user identity; Canvas returns only the current user's name and id and does not issue an API access token for this scope.
https://purl.imsglobal.org/spec/lti-reg/scope/registration.readonly Can view LTI registrations associated with the tool.
https://purl.imsglobal.org/spec/lti-reg/scope/registration Can send automatic updates to be approved by an Administrator.
https://purl.imsglobal.org/spec/lti-ags/scope/lineitem Can create and view assignment data in the gradebook associated with the tool (LTI Assignment and Grade Services).
https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly Can view assignment data in the gradebook associated with the tool (LTI Assignment and Grade Services).
https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly Can view submission data for assignments associated with the tool (LTI Assignment and Grade Services).
https://purl.imsglobal.org/spec/lti-ags/scope/score Can create and update submission results for assignments associated with the tool (LTI Assignment and Grade Services).
https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly Can retrieve user data associated with the context the tool is installed in (LTI Names and Role Provisioning Services).
https://purl.imsglobal.org/spec/lti/scope/noticehandlers Can register to receive asynchronous notifications from Canvas (LTI Platform Notification Service).
https://purl.imsglobal.org/spec/lti/scope/asset.readonly Can retrieve submissions from Document Processor Assignments (LTI Asset Processor).
https://purl.imsglobal.org/spec/lti/scope/report Can send reports for Document Processor Assignments (LTI Asset Processor).
https://purl.imsglobal.org/spec/lti/scope/eula/user Can track if EULA has been accepted (LTI Asset Processor).
https://purl.imsglobal.org/spec/lti/scope/eula/deployment Can reset EULA acceptance status (LTI Asset Processor).
https://canvas.instructure.com/lti/public_jwk/scope/update Can update public jwk for LTI services.
https://canvas.instructure.com/lti/account_lookup/scope/show Can lookup Account information.
https://canvas.instructure.com/lti-ags/progress/scope/show Can view Progress records associated with the context the tool is installed in.
https://canvas.instructure.com/lti/page_content/show Can view the content of a page the tool is launched from.

Source

OAuth Scopes

instructure-scopes.yml Raw ↑
generated: '2026-07-11'
method: searched
docs: https://developerdocs.instructure.com/services/canvas/oauth2/file.developer_keys
note: In addition to the named scopes below, every Canvas REST API endpoint has an
  auto-generated granular token scope of the form "url:<HTTP verb>|<endpoint path>"
  (e.g. url:GET|/api/v1/courses); the full list is enumerable via GET
  /api/v1/accounts/:account_id/scopes and is documented per endpoint at
  https://developerdocs.instructure.com/services/canvas/resources/api_token_scopes.
source: openapi/instructure-canvas-lti-openapi.yml
schemes:
- name: oauth2
  source: openapi/instructure-canvas-lti-openapi.yml
  flows:
  - flow: authorizationCode
    authorizationUrl: https://{canvas_domain}/login/oauth2/auth
    tokenUrl: https://{canvas_domain}/login/oauth2/token
  description: OAuth 2.0 authentication
scopes:
- scope: /auth/userinfo
  description: Allows an application to rely on Canvas for user identity; Canvas
    returns only the current user's name and id and does not issue an API access
    token for this scope.
  sources:
  - https://developerdocs.instructure.com/services/canvas/oauth2/file.oauth
- scope: https://purl.imsglobal.org/spec/lti-reg/scope/registration.readonly
  description: Can view LTI registrations associated with the tool.
  sources:
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti-reg/scope/registration
  description: Can send automatic updates to be approved by an Administrator.
  sources:
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti-ags/scope/lineitem
  description: Can create and view assignment data in the gradebook associated with
    the tool (LTI Assignment and Grade Services).
  sources:
  - https://developerdocs.instructure.com/services/canvas/external-tools/lti/file.lti_dev_key_config
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly
  description: Can view assignment data in the gradebook associated with the tool
    (LTI Assignment and Grade Services).
  sources:
  - https://developerdocs.instructure.com/services/canvas/external-tools/lti/file.lti_dev_key_config
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly
  description: Can view submission data for assignments associated with the tool
    (LTI Assignment and Grade Services).
  sources:
  - https://developerdocs.instructure.com/services/canvas/external-tools/lti/file.lti_dev_key_config
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti-ags/scope/score
  description: Can create and update submission results for assignments associated
    with the tool (LTI Assignment and Grade Services).
  sources:
  - https://developerdocs.instructure.com/services/canvas/external-tools/lti/file.lti_dev_key_config
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti-nrps/scope/contextmembership.readonly
  description: Can retrieve user data associated with the context the tool is installed
    in (LTI Names and Role Provisioning Services).
  sources:
  - https://developerdocs.instructure.com/services/canvas/external-tools/lti/file.lti_dev_key_config
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti/scope/noticehandlers
  description: Can register to receive asynchronous notifications from Canvas (LTI
    Platform Notification Service).
  sources:
  - https://developerdocs.instructure.com/services/canvas/external-tools/lti/file.lti_dev_key_config
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti/scope/asset.readonly
  description: Can retrieve submissions from Document Processor Assignments (LTI
    Asset Processor).
  sources:
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti/scope/report
  description: Can send reports for Document Processor Assignments (LTI Asset Processor).
  sources:
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti/scope/eula/user
  description: Can track if EULA has been accepted (LTI Asset Processor).
  sources:
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://purl.imsglobal.org/spec/lti/scope/eula/deployment
  description: Can reset EULA acceptance status (LTI Asset Processor).
  sources:
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://canvas.instructure.com/lti/public_jwk/scope/update
  description: Can update public jwk for LTI services.
  sources:
  - https://developerdocs.instructure.com/services/canvas/external-tools/lti/file.lti_dev_key_config
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://canvas.instructure.com/lti/account_lookup/scope/show
  description: Can lookup Account information.
  sources:
  - https://developerdocs.instructure.com/services/canvas/external-tools/lti/file.registration
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://canvas.instructure.com/lti-ags/progress/scope/show
  description: Can view Progress records associated with the context the tool is
    installed in.
  sources:
  - https://developerdocs.instructure.com/services/canvas/external-tools/lti/file.registration
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb
- scope: https://canvas.instructure.com/lti/page_content/show
  description: Can view the content of a page the tool is launched from.
  sources:
  - https://github.com/instructure/canvas-lms/blob/master/lib/token_scopes.rb