Skip to content
Proud to collaborate with Microsoft for Startups

canvas.courses.get-single-course-accounts ​

Return information on a single course. Accepts the same include[] parameters as the list action plus:

Get a single course

Overview ​

PropertyValue
Workflow typeAtomic
LibraryApp-canvas
Version1.0

Input Schema ​

FieldTypeRequiredDefaultDescription
base_urlstringYes—Canvas API root, e.g. https://<host>/api
api_tokenstringNo—Bearer token; omit to use the workflow's token env var
account_idstringYes—ID
idstringYes—ID
includelistNo—- "all_courses": Also search recently deleted courses. - "permissions": Include permissions the current user has for the course. - "observed_users": Include observed users in the enrollments - "course_image": Include course image url if a course image has been set - "banner_image": Include course banner image url if the course is a Canvas for Elementary subject and a banner image has been set - "concluded": Optional information to include with Course. Indicates whether the course has been concluded, taking course and term dates into account. - "lti_context_id": Include course LTI tool id. - "post_manually": Include course post policy. If the post policy is manually post grades, the value will be true. If the post policy is automatically post grades, the value will be false. - "syllabus_versions": Optional information to include with each Course. Returns recent saved versions of the syllabus body. Requires the syllabus_versioning feature flag and permission to manage course content. Version numbers can be passed to the Restore course syllabus version API.
teacher_limitintegerNo—The maximum number of teacher enrollments to show. If the course contains more teachers than this, instead of giving the teacher enrollments, the count of teachers will be given under a teacher_count key.

Output Schema ​

FieldTypeRequiredDefaultDescription
base_urlstringYes—Canvas API root, e.g. https://<host>/api
api_tokenstringNo—Bearer token; omit to use the workflow's token env var
account_idstringYes—ID
idstringYes—ID
includelistNo—- "all_courses": Also search recently deleted courses. - "permissions": Include permissions the current user has for the course. - "observed_users": Include observed users in the enrollments - "course_image": Include course image url if a course image has been set - "banner_image": Include course banner image url if the course is a Canvas for Elementary subject and a banner image has been set - "concluded": Optional information to include with Course. Indicates whether the course has been concluded, taking course and term dates into account. - "lti_context_id": Include course LTI tool id. - "post_manually": Include course post policy. If the post policy is manually post grades, the value will be true. If the post policy is automatically post grades, the value will be false. - "syllabus_versions": Optional information to include with each Course. Returns recent saved versions of the syllabus body. Requires the syllabus_versioning feature flag and permission to manage course content. Version numbers can be passed to the Restore course syllabus version API.
teacher_limitintegerNo—The maximum number of teacher enrollments to show. If the course contains more teachers than this, instead of giving the teacher enrollments, the count of teachers will be given under a teacher_count key.
status_codeintegerNo—HTTP status code of the completed call
responsejsonNo—Parsed JSON response body
failure_reasonstringNo——
failure_typestringNo——
failed_atstringNo——
failed_stepstringNo——
failed_layerstringNo——
failed_at_statestringNo——
errorstringNo——
error_typestringNo——

States ​

StateInitialTerminalSuccessAuto-advanceDescription
pendingYesNo—executeWaiting to call GET /v1/accounts/{account_id}/courses/
completedNoYesYes—HTTP call succeeded
failedNoYesNo—HTTP call failed

State Diagram ​

Transitions ​

FromActionToDescription
pendingexecutecompletedPerform GET /v1/accounts/{account_id}/courses/
* (any state)failfailedRecord the failure reason

API Usage ​

bash
POST /api/workflows/start
Content-Type: application/json

{
  "workflow_type": "canvas.courses.get-single-course-accounts",
  "initial_data": {
    "base_url": "value",
    "account_id": "value",
    "id": "value"
  }
}