How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Canvas Outcome Groups API

The Outcome Groups API from Canvas — 22 operation(s) for outcome groups.

Canvas Outcome Groups API is one of 145 APIs that Canvas publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Outcome Groups. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, authentication docs, a GitHub repository, an API reference, and rate-limit docs.

This API exposes 37 operations across 22 paths, and defines 2 schemas. It is described by OpenAPI 3.2.0, at version v1.

Requests are made against 2 base URLs: https://canvas.instructure.com/api, https://{canvas_host}/api.

37 operations 22 paths 2 schemas 6 DELETE16 GET9 POST6 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
v1
Base URL
https://canvas.instructure.com/api/v1
Authentication
HTTP Bearer, OAuth 2.0
License
Resource Areas
1

Authentication & Security 2

Canvas Outcome Groups API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). It supports OAuth 2.0 (oauth2) using the authorizationCode flow. By default, every request must be authenticated.

  • bearerAuth — Canvas OAuth2 access token sent as "Authorization: Bearer ". See https://canvas.instructure.com/doc/api/file.oauth.html
  • oauth2 — Canvas OAuth2. See https://canvas.instructure.com/doc/api/file.oauth.html and https://canvas.instructure.com/doc/api/file.oauthendpoints.html

Paths & Operations 37

Across 22 paths, the API surfaces 37 operations — 6 DELETE, 16 GET, 9 POST, 6 PUT. Each is listed below with its method, path, parameters, and response codes.

Outcome Groups 37
GET
/v1/global/root_outcome_group
Redirect to root outcome group for context
redirect_to_root_outcome_group_for_context_global → 200
GET
/v1/accounts/{account_id}/root_outcome_group
Redirect to root outcome group for context
redirect_to_root_outcome_group_for_context_accounts 1 param → 200
GET
/v1/courses/{course_id}/root_outcome_group
Redirect to root outcome group for context
redirect_to_root_outcome_group_for_context_courses 1 param → 200
GET
/v1/accounts/{account_id}/outcome_groups
Get all outcome groups for context
get_all_outcome_groups_for_context_accounts 1 param → 200
GET
/v1/courses/{course_id}/outcome_groups
Get all outcome groups for context
get_all_outcome_groups_for_context_courses 1 param → 200
GET
/v1/accounts/{account_id}/outcome_group_links
Get all outcome links for context
get_all_outcome_links_for_context_accounts 3 params → 200
GET
/v1/courses/{course_id}/outcome_group_links
Get all outcome links for context
get_all_outcome_links_for_context_courses 3 params → 200
GET
/v1/global/outcome_groups/{id}
Show an outcome group
show_outcome_group_global 1 param → 200
PUT
/v1/global/outcome_groups/{id}
Update an outcome group
update_outcome_group_global 1 param body → 200
DELETE
/v1/global/outcome_groups/{id}
Delete an outcome group
delete_outcome_group_global 1 param → 200
GET
/v1/accounts/{account_id}/outcome_groups/{id}
Show an outcome group
show_outcome_group_accounts 2 params → 200
PUT
/v1/accounts/{account_id}/outcome_groups/{id}
Update an outcome group
update_outcome_group_accounts 2 params body → 200
DELETE
/v1/accounts/{account_id}/outcome_groups/{id}
Delete an outcome group
delete_outcome_group_accounts 2 params → 200
GET
/v1/courses/{course_id}/outcome_groups/{id}
Show an outcome group
show_outcome_group_courses 2 params → 200
PUT
/v1/courses/{course_id}/outcome_groups/{id}
Update an outcome group
update_outcome_group_courses 2 params body → 200
DELETE
/v1/courses/{course_id}/outcome_groups/{id}
Delete an outcome group
delete_outcome_group_courses 2 params → 200
GET
/v1/global/outcome_groups/{id}/outcomes
List linked outcomes
list_linked_outcomes_global 2 params → 200
POST
/v1/global/outcome_groups/{id}/outcomes
Create/link an outcome
create_link_outcome_global 1 param body → 200
GET
/v1/accounts/{account_id}/outcome_groups/{id}/outcomes
List linked outcomes
list_linked_outcomes_accounts 3 params → 200
POST
/v1/accounts/{account_id}/outcome_groups/{id}/outcomes
Create/link an outcome
create_link_outcome_accounts 2 params body → 200
GET
/v1/courses/{course_id}/outcome_groups/{id}/outcomes
List linked outcomes
list_linked_outcomes_courses 3 params → 200
POST
/v1/courses/{course_id}/outcome_groups/{id}/outcomes
Create/link an outcome
create_link_outcome_courses 2 params body → 200
PUT
/v1/global/outcome_groups/{id}/outcomes/{outcome_id}
Create/link an outcome
create_link_outcome_global_outcome_id 2 params body → 200
DELETE
/v1/global/outcome_groups/{id}/outcomes/{outcome_id}
Unlink an outcome
unlink_outcome_global 2 params → 200
PUT
/v1/accounts/{account_id}/outcome_groups/{id}/outcomes/{outcome_id}
Create/link an outcome
create_link_outcome_accounts_outcome_id 3 params body → 200
DELETE
/v1/accounts/{account_id}/outcome_groups/{id}/outcomes/{outcome_id}
Unlink an outcome
unlink_outcome_accounts 3 params → 200
PUT
/v1/courses/{course_id}/outcome_groups/{id}/outcomes/{outcome_id}
Create/link an outcome
create_link_outcome_courses_outcome_id 3 params body → 200
DELETE
/v1/courses/{course_id}/outcome_groups/{id}/outcomes/{outcome_id}
Unlink an outcome
unlink_outcome_courses 3 params → 200
GET
/v1/global/outcome_groups/{id}/subgroups
List subgroups
list_subgroups_global 1 param → 200
POST
/v1/global/outcome_groups/{id}/subgroups
Create a subgroup
create_subgroup_global 1 param body → 200
GET
/v1/accounts/{account_id}/outcome_groups/{id}/subgroups
List subgroups
list_subgroups_accounts 2 params → 200
POST
/v1/accounts/{account_id}/outcome_groups/{id}/subgroups
Create a subgroup
create_subgroup_accounts 2 params body → 200
GET
/v1/courses/{course_id}/outcome_groups/{id}/subgroups
List subgroups
list_subgroups_courses 2 params → 200
POST
/v1/courses/{course_id}/outcome_groups/{id}/subgroups
Create a subgroup
create_subgroup_courses 2 params body → 200
POST
/v1/global/outcome_groups/{id}/import
Import an outcome group
import_outcome_group_global 1 param body → 200
POST
/v1/accounts/{account_id}/outcome_groups/{id}/import
Import an outcome group
import_outcome_group_accounts 2 params body → 200
POST
/v1/courses/{course_id}/outcome_groups/{id}/import
Import an outcome group
import_outcome_group_courses 2 params body → 200

Schemas 2

The contract defines 2 schemas that model the data the API accepts and returns. The most detailed are OutcomeGroup (12 properties), OutcomeLink (7 properties). Each schema is shown below with its type and property counts.

OutcomeGroup
object
12 properties
OutcomeLink
object
7 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

canvas-outcome-groups-api-openapi.yml Raw ↑

Other APIs Canvas publishes across the network.

Canvas LMS GraphQL API
Canvas LTI Integrations
Canvas Courses API
Canvas Access Tokens API
Canvas Accessibility Course Scans API
Canvas Accessibility Course Statistics API
Canvas Account Calendars API
Canvas Account Domain Lookups API
Canvas Account Notifications API
Canvas Account Reports API
Canvas Accounts API
Canvas Accounts (Lti) API
Where this information came from

This is an independent, third-party profile of Canvas Outcome Groups API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.