%3 ::xo::Authorize ::xo::Authorize decoded_state encoded_state get_required_fields login_url logout lookup_user_id name perform_login qualified record_oauth_registration redeem_code register_new_user required_fields ::xo::REST ::xo::REST body expect_status_code init json_to_dict pp request typed_list_to_json typed_value_to_json with_json_result ::xo::Authorize->::xo::REST ::canvas::API ::canvas::API account admins account courses account get account list account permissions account settings course activities course todo course users paginated_result_list params parse_link_params parse_link_value request token ::canvas::API->::xo::REST ::ms::Graph ::ms::Graph → run_donecallback application get application list async_operation_status chat get chat messages check_async_operation encode_query group deleted group get group list group member add group member list group member remove group memberof group owner add group owner list group owner remove paginated_result_list params request run_donecallback schedule_donecallback team archive team channel list team clone team create team delete team get team member add team member list team member remove team unarchive token user get user list user me user memberof ::ms::Graph->::xo::REST ::nx::Object ::nx::Object __default_accessor __default_method_call_protection __object_configureparameter __resolve_method_path contains copy delete object method delete object property delete object variable destroy_on_cleanup info info info lookup parameters info lookup slots info lookup syntax info lookup variables info object method args info object method body info object method callprotection info object method debug info object method definition info object method definitionhandle info object method deprecated info object method exists info object method handle info object method origin info object method parameters info object method registrationhandle info object method returns info object method submethods info object method syntax info object method type info object slots info object variables info variable definition info variable name info variable parameter move object alias object forward object method object property object variable private protected public qn require namespace require object method require private object method require protected object method require public object method serialize ::xo::REST->::nx::Object

Class ::canvas::API

::canvas::API[i] create ... \
           [ -baseurl baseurl ] \
           [ -client_id client_id ] \
           [ -client_secret client_secret ] \
           [ -token token ] \
           [ -version (default "v1") ]

Basic Canvas API for OAuth calls. For details, see https://canvas.instructure.com/doc/api/
Documented Parameters:
baseurl
starting URL
token
auth token
version
Version of the API
Defined in packages/xooauth/tcl/canvas-procs.tcl

Class Relations

  • class: ::nx::Class[i]
  • superclass: ::xo::REST[i]

Methods (to be applied on instances)

  • account admins (scripted, public)

     <instance of canvas::API[i]> account admins [ -page page ] \
        [ -per_page per_page ] [ -max_entries max_entries ] account_id

    Get a paginated list of the admins in the account. Details: https://canvas.instructure.com/doc/api/admins.html

    Switches:
    -page (optional, defaults to "1")
    Return the nth page of the result set
    -per_page (optional, defaults to "10")
    Return this number of entries per page
    -max_entries (optional)
    perform potentially multiple requests until the requested number of entries can be returned.
    Parameters:
    account_id (required, integer)

    Testcases:
    No testcase defined.
  • account courses (scripted, public)

     <instance of canvas::API[i]> account courses \
        [ -with_enrollments with_enrollments ] \
        [ -enrollment_type enrollment_type ] [ -published published ] \
        [ -completed completed ] [ -blueprint blueprint ] \
        [ -blueprint_associated blueprint_associated ] \
        [ -by_teachers by_teachers ] [ -by_subaccounts by_subaccounts ] \
        [ -hide_enrollmentless_courses hide_enrollmentless_courses ] \
        [ -state state ] [ -enrollment_term_id enrollment_term_id ] \
        [ -search_term search_term ] [ -include include ] [ -sort sort ] \
        [ -order order ] [ -search_by search_by ] \
        [ -starts_before starts_before ] [ -ends_after ends_after ] \
        [ -homeroom homeroom ] [ -page page ] [ -per_page per_page ] \
        [ -max_entries max_entries ] account_id

    Retrieve a paginated list of courses in this account. Details: https://canvas.instructure.com/doc/api/accounts.html

    Switches:
    -with_enrollments (optional)
    If true, include only courses with at least one enrollment. If false, include only courses with no enrollments. If not present, do not filter on course enrollment status.
    -enrollment_type (optional)
    If set, only return courses that have at least one user enrolled in the course with one of the specified enrollment types. Allowed values: teacher, student, ta, observer, designer
    -published (optional)
    If true, include only published courses. If false, exclude published courses. If not present, do not filter on published status.
    -completed (optional)
    If true, include only completed courses (these may be in state 'completed', or their enrollment term may have ended). If false, exclude completed courses. If not present, do not filter on completed status.
    -blueprint (optional)
    If true, include only blueprint courses. If false, exclude them. If not present, do not filter on this basis.
    -blueprint_associated (optional)
    If true, include only courses that inherit content from a blueprint course. If false, exclude them. If not present, do not filter on this basis.
    -by_teachers (optional)
    List of User IDs of teachers; if supplied, include only courses taught by one of the referenced users.
    -by_subaccounts (optional)
    List of Account IDs; if supplied, include only courses associated with one of the referenced subaccounts.
    -hide_enrollmentless_courses (optional)
    If present, only return courses that have at least one enrollment. Equivalent to 'with_enrollments=true'; retained for compatibility.
    -state (optional)
    If set, only return courses that are in the given state(s). By default, all states but “deleted” are returned. Allowed values: created, claimed, available, completed, deleted, all.
    -enrollment_term_id (optional)
    If set, only includes courses from the specified term.
    -search_term (optional)
    If set, only includes courses from the specified term.
    -include (optional)
    List of extra values to be included. Allowed values: syllabus_body, term, course_progress, storage_quota_used_mb, total_students, teachers, account_name, concluded
    -sort (optional)
    The column to sort results by. Allowed values: course_name, sis_course_id, teacher, account_name
    -order (optional)
    the order to sort the given column by. Allowed values: asc, desc
    -search_by (optional)
    The filter to search by. “course” searches for course names, course codes, and SIS IDs. “teacher” searches for teacher names Allowed values: course, teacher
    -starts_before (optional)
    If set, only return courses that start before the value (inclusive) or their enrollment term starts before the value (inclusive) or both the course's start_at and the enrollment term's start_at are set to null. The value should be formatted as: yyyy-mm-dd or ISO 8601 YYYY-MM-DDTHH:MM:SSZ.
    -ends_after (optional)
    If set, only return courses that end after the value (inclusive) or their enrollment term ends after the value (inclusive) or both the course's end_at and the enrollment term's end_at are set to null. The value should be formatted as: yyyy-mm-dd or ISO 8601 YYYY-MM-DDTHH:MM:SSZ.
    -homeroom (optional)
    If set, only return homeroom courses.
    -page (optional, defaults to "1")
    Return the nth page of the result set
    -per_page (optional, defaults to "10")
    Return this number of entries per page
    -max_entries (optional)
    perform potentially multiple requests until the requested number of entries can be returned.
    Parameters:
    account_id (required, integer)

    Testcases:
    No testcase defined.
  • account get (scripted, public)

     <instance of canvas::API[i]> account get account_id

    Retrieve information on an individual account, given by id or sis sis_account_id. Details: https://canvas.instructure.com/doc/api/accounts.html

    Parameters:
    account_id (required, integer)

    Testcases:
    No testcase defined.
  • account list (scripted, public)

     <instance of canvas::API[i]> account list [ -page page ] \
        [ -per_page per_page ] [ -max_entries max_entries ]

    A paginated list of accounts that the current user can view or manage. Typically, students and even teachers will get an empty list in response, only account admins can view the accounts that they are in. Details: https://canvas.instructure.com/doc/api/accounts.html

    Switches:
    -page (optional, defaults to "1")
    Return the nth page of the result set
    -per_page (optional, defaults to "10")
    Return this number of entries per page
    -max_entries (optional)
    perform potentially multiple requests until the requested number of entries can be returned.

    Testcases:
    No testcase defined.
  • account permissions (scripted, public)

     <instance of canvas::API[i]> account permissions \
        [ -permissions permissions ] account_id

    Returns permission information for the calling user and the given account. You may use `self` as the account id to check permissions against the domain root account. The caller must have an account role or admin (teacher/TA/designer) enrollment in a course in the account. Details: https://canvas.instructure.com/doc/api/accounts.html

    Switches:
    -permissions (optional)
    Parameters:
    account_id (required, integer)

    Testcases:
    No testcase defined.
  • account settings (scripted, public)

     <instance of canvas::API[i]> account settings account_id

    Returns all of the settings for the specified account as a JSON object. The caller must be an Account admin with the manage_account_settings permission. Details: https://canvas.instructure.com/doc/api/accounts.html

    Parameters:
    account_id (required, integer)

    Testcases:
    No testcase defined.
  • course activities (scripted, public)

     <instance of canvas::API[i]> course activities [ -page page ] \
        [ -per_page per_page ] [ -max_entries max_entries ] course_id

    Returns the paginated Returns the current user's course-specific activity stream, paginated. Details: https://canvas.instructure.com/doc/api/courses.html

    Switches:
    -page (optional, defaults to "1")
    Return the nth page of the result set
    -per_page (optional, defaults to "10")
    Return this number of entries per page
    -max_entries (optional)
    perform potentially multiple requests until the requested number of entries can be returned.
    Parameters:
    course_id (required, integer)

    Testcases:
    No testcase defined.
  • course todo (scripted, public)

     <instance of canvas::API[i]> course todo [ -page page ] \
        [ -per_page per_page ] [ -max_entries max_entries ] course_id

    Returns a paginated list of the current user's course-specific todo items. Details: https://canvas.instructure.com/doc/api/courses.html

    Switches:
    -page (optional, defaults to "1")
    Return the nth page of the result set
    -per_page (optional, defaults to "10")
    Return this number of entries per page
    -max_entries (optional)
    perform potentially multiple requests until the requested number of entries can be returned.
    Parameters:
    course_id (required, integer)

    Testcases:
    No testcase defined.
  • course users (scripted, public)

     <instance of canvas::API[i]> course users \
        [ -search_term search_term ] [ -sort sort ] \
        [ -enrollment_type enrollment_type ] \
        [ -enrollment_role_id enrollment_role_id ] [ -include include ] \
        [ -user_ids user_ids ] [ -enrollment_state enrollment_state ] \
        [ -page page ] [ -per_page per_page ] [ -max_entries max_entries ] \
        course_id

    Returns the paginated list of users in this course. And optionally the user's enrollments in the course. Details: https://canvas.instructure.com/doc/api/courses.html

    Switches:
    -search_term (optional)
    The partial name or full ID of the users to match and return in the results list.
    -sort (optional)
    When set, sort the results of the search based on the given Allowed values: username, last_login, email, sis_id
    -enrollment_type (optional)
    When set, only return users where the user is enrolled as this type. “student_view” implies include[]=test_student. This argument is ignored if enrollment_role is given. Allowed values: teacher, student, student_view, ta, observer, designer
    -enrollment_role_id (optional)
    When set, only return courses where the user is enrolled with the specified course-level role. This can be a role created with the Add Role API or a built_in role id with type 'StudentEnrollment', 'TeacherEnrollment', 'TaEnrollment', 'ObserverEnrollment', or 'DesignerEnrollment'.
    -include (optional)
    Optionally included content. Allowed values: enrollments, locked, avatar_url, test_student, bio, custom_links, current_grading_period_scores, uuid
    -user_ids (optional)
    If included, the course users set will only include users with IDs specified by the param.
    -enrollment_state (optional)
    When set, only return users where the enrollment workflow state is of one of the given types. “active” and “invited” enrollments are returned by default. Allowed values: active, invited, rejected, completed, inactive
    -page (optional, defaults to "1")
    Return the nth page of the result set
    -per_page (optional, defaults to "10")
    Return this number of entries per page
    -max_entries (optional)
    perform potentially multiple requests until the requested number of entries can be returned.
    Parameters:
    course_id (required, integer)

    Testcases:
    No testcase defined.
  • token (scripted, public)

     <instance of canvas::API[i]> token [ -grant_type grant_type ] \
        [ -scope scope ] [ -assertion assertion ] \
        [ -client_assertion_type client_assertion_type ] \
        [ -requested_token_use requested_token_use ]

    Get bearer token (access token) from the /oauth2/v2.0/token endpoint. https://canvas.instructure.com/doc/api/file.oauth_endpoints.html#post-login-oauth2-token

    Switches:
    -grant_type (optional, defaults to "client_credentials")
    -scope (optional)
    -assertion (optional)
    -client_assertion_type (optional, defaults to "urn:ietf:params:oauth:client-assertion-type:jwt-bearer")
    -requested_token_use (optional)

    Testcases:
    No testcase defined.