### Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example of how to make a GET request to the student_view_student endpoint. ```bash curl https:///api/v1/courses//student_view_student \ -X GET \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/modules Example of how to make a GET request to list modules in a course. ```bash curl -H "Authorization: Bearer " \ https:///api/v1/courses/222/modules ``` -------------------------------- ### Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/modules This example shows how to make a GET request to retrieve information about a single module. ```bash curl -H 'Authorization: Bearer ' \ https:///api/v1/courses/222/modules/123 ``` -------------------------------- ### Get Import Details Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/blueprint_courses Example of how to make a GET request to retrieve details about a blueprint course migration. ```bash curl https:///api/v1/courses/2/blueprint_subscriptions/default/7/details \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Get course settings example request Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example bash command to request course settings. ```bash curl https:///api/v1/courses//settings \ -X GET \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Permissions example request Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example of how to make a GET request to retrieve permission information for a user in a course, specifying which permissions to check. ```bash curl https:///api/v1/courses//permissions \ -H 'Authorization: Bearer ' \ -d 'permissions[]=manage_grades' -d 'permissions[]=send_messages' ``` -------------------------------- ### Get course settings example response Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example JSON response containing course settings. ```js { "allow_student_discussion_topics": true, "allow_student_forum_attachments": false, "allow_student_discussion_editing": true, "grading_standard_enabled": true, "grading_standard_id": 137, "allow_student_organized_groups": true, "hide_final_grades": false, "hide_distribution_graphs": false, "hide_sections_on_course_users_page": false, "lock_all_announcements": true, "usage_rights_required": false, "homeroom_course": false, "default_due_time": "23:59:59", "conditional_release": false } ``` -------------------------------- ### Querying Documentation Dynamically Source: https://developerdocs.instructure.com/services/canvas/resources/planner Example of how to perform an HTTP GET request with the 'ask' query parameter to get dynamic information from the documentation. ```http GET https://developerdocs.instructure.com/services/canvas/resources/planner.md?ask= ``` -------------------------------- ### Get account settings example Source: https://developerdocs.instructure.com/services/canvas/resources/accounts Example request and response for retrieving account settings. ```bash curl https:///api/v1/accounts//settings \ -H 'Authorization: Bearer ' ``` ```json {"microsoft_sync_enabled": true, "microsoft_sync_login_attribute_suffix": false} ``` -------------------------------- ### Example GET from a generated scope Source: https://developerdocs.instructure.com/services/canvas/resources/users#method.users.upcoming_events This example demonstrates retrieving specific data from a generated scope. ```curl curl 'https:///api/v1/users//custom_data/body/measurements/chest' \ -X GET \ -F 'ns=com.my-organization.canvas-app' \ -H 'Authorization: Bearer ' ``` ```json { "data": "40in" } ``` -------------------------------- ### Example Response: Get query results (404 Not Found) Source: https://developerdocs.instructure.com/services/canvas/resources/users#method.users.upcoming_events Example response when the query results were not found. ```json { "error": "The result for query was not found." } ``` -------------------------------- ### Get bulk user progress - Example Response Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example JSON response showing progress information for multiple users in a course. ```json [ { "id": 1, "display_name": "Test Student 1", "avatar_image_url": "https:///images/messages/avatar-50.png", "html_url": "https:///courses/1/users/1", "pronouns": null, "progress": { "requirement_count": 2, "requirement_completed_count": 1, "next_requirement_url": "https:///courses//modules/items/", "completed_at": null } }, { "id": 2, "display_name": "Test Student 2", "avatar_image_url": "https:///images/messages/avatar-50.png", "html_url": "https:///courses/1/users/2", "pronouns": null, "progress": { "requirement_count": 2, "requirement_completed_count": 2, "next_requirement_url": null, "completed_at": "2021-08-10T16:26:08Z" } } ] ``` -------------------------------- ### Example GET request for dynamic documentation querying Source: https://developerdocs.instructure.com/services/canvas/resources/quiz_submissions This shows how to perform an HTTP GET request to the documentation page with an 'ask' query parameter to get dynamic information. ```http GET https://developerdocs.instructure.com/services/canvas/resources/quiz_submissions.md?ask= ``` -------------------------------- ### Querying Documentation via HTTP GET Source: https://developerdocs.instructure.com/services/canvas/resources/shared_brand_configs Example of how to perform an HTTP GET request to query the documentation dynamically. ```HTTP GET https://developerdocs.instructure.com/services/canvas/resources/shared_brand_configs.md?ask= ``` -------------------------------- ### Get bulk user progress - Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example cURL command to retrieve progress information for all users enrolled in a given course. ```bash curl https:///api/v1/courses//bulk_user_progress \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Get all quiz submissions - Example Response Source: https://developerdocs.instructure.com/services/canvas/resources/quiz_submissions Example response for getting all quiz submissions. ```javascript { "quiz_submissions": [QuizSubmission] } ``` -------------------------------- ### Get proficiency ratings example request Source: https://developerdocs.instructure.com/services/canvas/resources/proficiency_ratings Example cURL request to get account-level proficiency ratings. ```bash curl https:///api/v1/accounts//outcome_proficiency \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Get effective due dates example request Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example of how to make a GET request to retrieve effective due dates for a course. ```bash curl https:///api/v1/courses//effective_due_dates -X GET \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Get document annotations read state - Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/submissions Example cURL request to get the read state of document annotations for a submission. ```bash curl 'https:///api/v1/courses//assignments//submissions//document_annotations/read' \ -H "Authorization: Bearer " ``` -------------------------------- ### Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/external_tools This example shows how to request a paginated list of external tools for a course, including tools from parent accounts and filtering by placement. ```bash curl 'https:///api/v1/courses//external_tools?include_parents=true&placement=editor_button' \ -H "Authorization: Bearer " ``` -------------------------------- ### Querying Documentation Dynamically Source: https://developerdocs.instructure.com/services/canvas/resources/developer_key_account_bindings Example of how to perform an HTTP GET request to query the documentation dynamically using the 'ask' query parameter. ```http GET https://developerdocs.instructure.com/services/canvas/resources/developer_key_account_bindings.md?ask= ``` -------------------------------- ### Start Kaltura Session Example Response Source: https://developerdocs.instructure.com/services/canvas/resources/services Example JSON response for starting a Kaltura session, returning the session ID (ks). ```js { 'ks': '1e39ad505f30c4fa1af5752b51bd69fe' } ``` -------------------------------- ### Get outcome results example response Source: https://developerdocs.instructure.com/services/canvas/resources/outcome_results Example response for getting outcome results ```javascript { outcome_results: [OutcomeResult] } ``` -------------------------------- ### Example Request 1 Source: https://developerdocs.instructure.com/services/canvas/resources/enrollments Enrolls multiple users into multiple courses. ```bash curl https:///api/v1/accounts/:account_id/bulk_enrollment \ -X POST \ -F 'user_ids[]=1' \ -F 'user_ids[]=2' \ -F 'course_ids[]=10' \ -F 'course_ids[]=11' ``` -------------------------------- ### Get Quota Information - Example Response Source: https://developerdocs.instructure.com/services/canvas/resources/files Example JSON response for the get quota information endpoint. ```json { "quota": 524288000, "quota_used": 402653184 } ``` -------------------------------- ### Start a Report Source: https://developerdocs.instructure.com/services/canvas/resources/account_reports Example request to generate a report instance for an account. ```bash curl -X POST \ https:///api/v1/accounts/1/reports/provisioning_csv \ -H 'Authorization: Bearer ' \ -H 'Content-Type: multipart/form-data' \ -F 'parameters[users]=true' \ -F 'parameters[courses]=true' \ -F 'parameters[enrollments]=true' ``` -------------------------------- ### Querying Documentation Dynamically Source: https://developerdocs.instructure.com/services/canvas/resources/temporary_enrollment_pairings Example of how to query the documentation dynamically using the 'ask' query parameter. ```http GET https://developerdocs.instructure.com/services/canvas/resources/temporary_enrollment_pairings.md?ask= ``` -------------------------------- ### Get available quiz IP filters - Example Response Source: https://developerdocs.instructure.com/services/canvas/resources/quiz_ip_filters Example of a 200 OK response for getting available IP filters for a Quiz. ```javascript { "quiz_ip_filters": [QuizIPFilter] } ``` -------------------------------- ### Get Quota Information - Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/files Example cURL request to get storage quota information for a course. ```bash curl 'https:///api/v1/courses/1/files/quota' \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/pages Example of how to list wiki pages for a course, sorting by title in ascending order. ```bash curl -H 'Authorization: Bearer ' \ https:///api/v1/courses/123/pages?sort=title&order=asc ``` -------------------------------- ### Querying Documentation Example Source: https://developerdocs.instructure.com/services/canvas/resources/notice_handlers Example of how to query the documentation dynamically using the 'ask' query parameter. ```http GET https://developerdocs.instructure.com/services/canvas/resources/notice_handlers.md?ask= ``` -------------------------------- ### Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/content_migrations Example of how to make a GET request to the asset_id_mapping endpoint. ```bash curl https:///api/v1/courses//content_migrations//asset_id_mapping \ -H 'Authorization: Bearer ' ``` -------------------------------- ### List environment settings example Source: https://developerdocs.instructure.com/services/canvas/resources/accounts Example request and response for listing environment settings. ```bash curl 'http:///api/v1/settings/environment' \ -H "Authorization: Bearer " ``` ```json { "calendar_contexts_limit": 10, "open_registration": false, ...} ``` -------------------------------- ### Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/account_calendars Example of how to make a GET request to the visible_calendars_count endpoint. ```bash curl https:///api/v1/accounts/1/visible_calendars_count \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Query documentation dynamically Source: https://developerdocs.instructure.com/services/canvas/resources/users Example of how to query the documentation dynamically using the 'ask' query parameter. ```http GET https://developerdocs.instructure.com/services/canvas/resources/users.md?ask= ``` -------------------------------- ### Batch Update Courses Example Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example of how to use the batch update endpoint to offer courses. ```bash curl https:///api/v1/accounts//courses \ -X PUT \ -H 'Authorization: Bearer ' \ -d 'event=offer' \ -d 'course_ids[]=1' \ -d 'course_ids[]=2' ``` -------------------------------- ### Dynamic Documentation Query Example Source: https://developerdocs.instructure.com/services/canvas/resources/asset_processor Example of how to query the documentation dynamically using the 'ask' query parameter. ```http GET https://developerdocs.instructure.com/services/canvas/resources/asset_processor.md?ask= ``` -------------------------------- ### Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/account_reports This is an example of how to request a list of available reports. ```bash curl -H 'Authorization: Bearer ' \ https:///api/v1/accounts//reports/ ``` -------------------------------- ### Example Response for media_upload_url Source: https://developerdocs.instructure.com/services/canvas/resources/new_quiz_items Example response when getting a media upload URL. ```javascript { "url": "http://s3_upload_url" } ``` -------------------------------- ### Example Request 2 Source: https://developerdocs.instructure.com/services/canvas/resources/enrollments Enrolls a single user into multiple courses with specified enrollment type and dates. ```bash curl https:///api/v1/accounts/:account_id/bulk_enrollment \ -X POST \ -F 'user_ids[]=1' \ -F 'course_ids[]=10' \ -F 'course_ids[]=11' \ -F 'course_ids[]=12' \ -F 'enrollment_type=TeacherEnrollment' \ -F 'start_at=2026-03-01T07:00:00Z' \ -F 'end_at=2026-06-05T07:00:00Z' ``` -------------------------------- ### Querying Documentation via HTTP GET Source: https://developerdocs.instructure.com/services/canvas/resources/sis_imports Demonstrates how to perform an HTTP GET request to a documentation URL with the 'ask' query parameter to get dynamic information. ```HTTP GET https://developerdocs.instructure.com/services/canvas/resources/sis_imports.md?ask= ``` -------------------------------- ### Get Group Permissions Source: https://developerdocs.instructure.com/services/canvas/resources/groups Example request to get permission information for the calling user in a specific group. ```bash curl https:///api/v1/groups//permissions \ -H 'Authorization: Bearer ' \ -d 'permissions[]=read_roster' \ -d 'permissions[]=send_messages_all' ``` -------------------------------- ### Example GET with a generated scope Source: https://developerdocs.instructure.com/services/canvas/resources/users#method.users.upcoming_events This example demonstrates retrieving a nested value from stored JSON data. ```curl curl 'https:///api/v1/users//custom_data/a-hash/a/b' \ -X GET \ -F 'ns=com.my-organization.canvas-app' \ -H 'Authorization: Bearer ' ``` ```json { "data": "ohai" } ``` -------------------------------- ### Example Request for User Details Source: https://developerdocs.instructure.com/services/canvas/resources/users#method.users.upcoming_events Example request to show user details. ```bash curl https:///api/v1/users/self \ -X GET \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Dynamic Documentation Query Example Source: https://developerdocs.instructure.com/services/canvas/resources/enrollment_terms Example of how to query the documentation dynamically using the 'ask' query parameter. ```http GET https://developerdocs.instructure.com/services/canvas/resources/enrollment_terms.md?ask= ``` -------------------------------- ### Show Front Page Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/pages Example of how to retrieve the content of the front page for a course. ```bash curl -H 'Authorization: Bearer ' \ https:///api/v1/courses/123/front_page ``` -------------------------------- ### Get SIS import status Source: https://developerdocs.instructure.com/services/canvas/resources/sis_imports Example request to get the status of an already created SIS import. ```bash curl https:///api/v1/accounts//sis_imports/ \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Get dashboard positions - Example Response Source: https://developerdocs.instructure.com/services/canvas/resources/users#method.users.upcoming_events Example JSON response containing a user's dashboard positions. ```json { "dashboard_positions": { "course_42": 2, "course_88": 1 } } ``` -------------------------------- ### Get Batch Query Results - Example Response (200 OK - File Download) Source: https://developerdocs.instructure.com/services/canvas/resources/users#method.users.upcoming_events Example successful response for retrieving query results, indicating a file download with appropriate Content-Type and Content-Disposition headers. ```http 200 # Returns file download with appropriate Content-Type header # Content-Type: text/csv (for CSV format) # Content-Disposition: attachment; filename="550e8400-e29b-41d4-a716-446655440000.csv" ``` -------------------------------- ### Get dashboard positions - Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/users#method.users.upcoming_events Example cURL request to retrieve a user's dashboard positions. ```curl curl 'https:///api/v1/users//dashboard_positions/ \ -X GET \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Create an external tool on an account using configuration from a URL Source: https://developerdocs.instructure.com/services/canvas/resources/external_tools This example demonstrates creating an external tool on an account where the configuration is pulled from an external URL. ```bash This would create a tool on the account with configuration pulled from an external URL curl -X POST 'https:///api/v1/accounts//external_tools' \ -H "Authorization: Bearer " \ -F 'name=LTI Example' \ -F 'consumer_key=asdfg' \ -F 'shared_secret=lkjh' \ -F 'config_type=by_url' \ -F 'config_url=https://example.com/ims/lti/tool_config.xml' ``` -------------------------------- ### Example Response Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example JSON response after successfully updating a course. ```js { "name": "New course name", "course_code": "COURSE-001", "start_at": "2012-05-05T00:00:00Z", "end_at": "2012-08-05T23:59:59Z", "sis_course_id": "12345" } ``` -------------------------------- ### Example Response for Get a single poll submission Source: https://developerdocs.instructure.com/services/canvas/resources/poll_submissions An example of the response when retrieving a single poll submission. ```javascript { "poll_submissions": [PollSubmission] } ``` -------------------------------- ### GET /api/lti/notice-handlers/:context_external_tool_id Example Response Source: https://developerdocs.instructure.com/services/canvas/resources/notice_handlers Example response for listing all notice handlers for a tool. ```js { "client_id": 10000000000267, "deployment_id": "123:8865aa05b4b79b64a91a86042e43af5ea8ae79eb", "notice_handlers": [ { "handler": "", "notice_type": "LtiHelloWorldNotice" } ] } ``` -------------------------------- ### Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/courses Example of how to update a course using a PUT request to the Canvas API. ```bash curl https:///api/v1/courses/ \ -X PUT \ -H 'Authorization: Bearer ' \ -d 'course[name]=New course name' \ -d 'course[start_at]=2012-05-05T00:00:00Z' ``` -------------------------------- ### Querying Documentation Dynamically Source: https://developerdocs.instructure.com/services/canvas/resources/accounts_-lti Example of how to perform an HTTP GET request to query the documentation dynamically. ```http GET https://developerdocs.instructure.com/services/canvas/resources/accounts_-lti.md?ask= ``` -------------------------------- ### Show Temporary Enrollment Status Example Response Source: https://developerdocs.instructure.com/services/canvas/resources/enrollments Example JSON response for the GET /api/v1/users/:user_id/temporary_enrollment_status endpoint. ```js { "is_provider": false, "is_recipient": true, "can_provide": false } ``` -------------------------------- ### Get Bookmark Example Request Source: https://developerdocs.instructure.com/services/canvas/resources/bookmarks Example cURL command to retrieve the details of a specific bookmark by its ID. ```bash curl 'https:///api/v1/users/self/bookmarks/1' \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Example PUT specifying subscopes Source: https://developerdocs.instructure.com/services/canvas/resources/users#method.users.upcoming_events This example shows how to specify subscopes when storing data. ```curl curl 'https:///api/v1/users//custom_data/body/measurements' \ -X PUT \ -F 'ns=com.my-organization.canvas-app' \ -F 'data[waist]=32in' \ -F 'data[inseam]=34in' \ -F 'data[chest]=40in' \ -H 'Authorization: Bearer ' ``` ```json { "data": { "chest": "40in", "waist": "32in", "inseam": "34in" } } ``` -------------------------------- ### Querying Documentation Dynamically Source: https://developerdocs.instructure.com/services/canvas/resources/ai_experiences Demonstrates how to query the documentation dynamically using the `ask` query parameter. ```HTTP GET https://developerdocs.instructure.com/services/canvas/resources/ai_experiences.md?ask= ``` -------------------------------- ### Install an LTI Registration from a Template Source: https://developerdocs.instructure.com/services/canvas/resources/lti_registrations Example request to install a template LTI registration into a specified account. ```bash curl -X POST 'https:///api/v1/accounts//lti_registrations//install_from_template' \ -H "Authorization: Bearer " \ -H "Content-Type: application/json" ``` -------------------------------- ### Get module item sequence Source: https://developerdocs.instructure.com/services/canvas/resources/modules Example request to get module item sequence information for a given asset in a course. ```bash curl https:///api/v1/courses//module_item_sequence?asset_type=Assignment&asset_id=123 \ -H 'Authorization: Bearer ' ``` -------------------------------- ### Querying Documentation via HTTP GET Source: https://developerdocs.instructure.com/services/canvas/resources/new_quiz_items Demonstrates how to perform an HTTP GET request to a documentation URL with the 'ask' query parameter to get dynamic answers. ```HTTP GET https://developerdocs.instructure.com/services/canvas/resources/new_quiz_items.md?ask= ``` -------------------------------- ### Querying Documentation via HTTP GET Source: https://developerdocs.instructure.com/services/canvas/resources/live_assessments Example of how to perform an HTTP GET request to query the documentation dynamically. ```http GET https://developerdocs.instructure.com/services/canvas/resources/live_assessments.md?ask= ``` -------------------------------- ### Example Request to Create a Module Source: https://developerdocs.instructure.com/services/canvas/resources/modules This example demonstrates how to use curl to create a new module in a Canvas course, including setting its name, position, and prerequisites. ```bash curl https:///api/v1/courses//modules \ -X POST \ -H 'Authorization: Bearer ' \ -d 'module[name]=module' \ -d 'module[position]=2' \ -d 'module[prerequisite_module_ids][]=121' \ -d 'module[prerequisite_module_ids][]=122' ``` -------------------------------- ### Get a single conversation Source: https://developerdocs.instructure.com/services/canvas/resources/conversations Example of a conversation object, likely returned by a GET request to retrieve a single conversation. ```json { "body": "hey, bob didn't get the notes. do you have a copy i can give him?", "author_id": 2, "generated": false, "media_comment": null, "forwarded_messages": [ { "id": 1, "created_at": "2011-09-02T10:00:00Z", "body": "can i get a copy of the notes? i was out", "author_id": 3, "generated": false, "media_comment": null, "forwarded_messages": [], "attachments": [] } ], "attachments": [] } ``` -------------------------------- ### Querying Documentation via HTTP GET Source: https://developerdocs.instructure.com/services/canvas/resources/content_exports Example of an HTTP GET request to query the documentation dynamically. ```http GET https://developerdocs.instructure.com/services/canvas/resources/content_exports.md?ask= ```