Outcome Groups
API for accessing learning outcome group information.
Learning outcome groups organize outcomes within a context (or in the global "context" for global outcomes). Every outcome is created in a particular context (that context then becomes its "owning context") but may be linked multiple times in one or more related contexts. This allows different accounts or courses to organize commonly defined outcomes in ways appropriate to their pedagogy, including having the same outcome discoverable at different locations in the organizational hierarchy.
While an outcome can be linked into a context (such as a course) multiple times, it may only be linked into a particular group once.
An OutcomeGroup object looks like:
An OutcomeLink object looks like:
OutcomeGroupsApiController#redirect
GET /api/v1/global/root_outcome_group
GET /api/v1/global/root_outcome_group
Scope: url:GET|/api/v1/global/root_outcome_group
GET /api/v1/accounts/:account_id/root_outcome_group
GET /api/v1/accounts/:account_id/root_outcome_group
Scope: url:GET|/api/v1/accounts/:account_id/root_outcome_group
GET /api/v1/courses/:course_id/root_outcome_group
GET /api/v1/courses/:course_id/root_outcome_group
Scope: url:GET|/api/v1/courses/:course_id/root_outcome_group
Convenience redirect to find the root outcome group for a particular context. Will redirect to the appropriate outcome group’s URL.
OutcomeGroupsApiController#index
GET /api/v1/accounts/:account_id/outcome_groups
GET /api/v1/accounts/:account_id/outcome_groups
Scope: url:GET|/api/v1/accounts/:account_id/outcome_groups
GET /api/v1/courses/:course_id/outcome_groups
GET /api/v1/courses/:course_id/outcome_groups
Scope: url:GET|/api/v1/courses/:course_id/outcome_groups
OutcomeGroupsApiController#link_index
GET /api/v1/accounts/:account_id/outcome_group_links
GET /api/v1/accounts/:account_id/outcome_group_links
Scope: url:GET|/api/v1/accounts/:account_id/outcome_group_links
GET /api/v1/courses/:course_id/outcome_group_links
GET /api/v1/courses/:course_id/outcome_group_links
Scope: url:GET|/api/v1/courses/:course_id/outcome_group_links
OutcomeGroupsApiController#show
GET /api/v1/global/outcome_groups/:id
GET /api/v1/global/outcome_groups/:id
Scope: url:GET|/api/v1/global/outcome_groups/:id
GET /api/v1/accounts/:account_id/outcome_groups/:id
GET /api/v1/accounts/:account_id/outcome_groups/:id
Scope: url:GET|/api/v1/accounts/:account_id/outcome_groups/:id
GET /api/v1/courses/:course_id/outcome_groups/:id
GET /api/v1/courses/:course_id/outcome_groups/:id
Scope: url:GET|/api/v1/courses/:course_id/outcome_groups/:id
OutcomeGroupsApiController#update
PUT /api/v1/global/outcome_groups/:id
PUT /api/v1/global/outcome_groups/:id
Scope: url:PUT|/api/v1/global/outcome_groups/:id
PUT /api/v1/accounts/:account_id/outcome_groups/:id
PUT /api/v1/accounts/:account_id/outcome_groups/:id
Scope: url:PUT|/api/v1/accounts/:account_id/outcome_groups/:id
PUT /api/v1/courses/:course_id/outcome_groups/:id
PUT /api/v1/courses/:course_id/outcome_groups/:id
Scope: url:PUT|/api/v1/courses/:course_id/outcome_groups/:id
Modify an existing outcome group. Fields not provided are left as is; unrecognized fields are ignored.
When changing the parent outcome group, the new parent group must belong to the same context as this outcome group, and must not be a descendant of this outcome group (i.e. no cycles allowed).
Request Parameters:
Example Request:
Returns an OutcomeGroup object.
OutcomeGroupsApiController#destroy
DELETE /api/v1/global/outcome_groups/:id
DELETE /api/v1/global/outcome_groups/:id
Scope: url:DELETE|/api/v1/global/outcome_groups/:id
DELETE /api/v1/accounts/:account_id/outcome_groups/:id
DELETE /api/v1/accounts/:account_id/outcome_groups/:id
Scope: url:DELETE|/api/v1/accounts/:account_id/outcome_groups/:id
DELETE /api/v1/courses/:course_id/outcome_groups/:id
DELETE /api/v1/courses/:course_id/outcome_groups/:id
Scope: url:DELETE|/api/v1/courses/:course_id/outcome_groups/:id
Deleting an outcome group deletes descendant outcome groups and outcome links. The linked outcomes themselves are only deleted if all links to the outcome were deleted.
Aligned outcomes cannot be deleted; as such, if all remaining links to an aligned outcome are included in this group’s descendants, the group deletion will fail.
Example Request:
Returns an OutcomeGroup object.
OutcomeGroupsApiController#outcomes
GET /api/v1/global/outcome_groups/:id/outcomes
GET /api/v1/global/outcome_groups/:id/outcomes
Scope: url:GET|/api/v1/global/outcome_groups/:id/outcomes
GET /api/v1/accounts/:account_id/outcome_groups/:id/outcomes
GET /api/v1/accounts/:account_id/outcome_groups/:id/outcomes
Scope: url:GET|/api/v1/accounts/:account_id/outcome_groups/:id/outcomes
GET /api/v1/courses/:course_id/outcome_groups/:id/outcomes
GET /api/v1/courses/:course_id/outcome_groups/:id/outcomes
Scope: url:GET|/api/v1/courses/:course_id/outcome_groups/:id/outcomes
A paginated list of the immediate OutcomeLink children of the outcome group.
Request Parameters:
Returns a list of OutcomeLink objects.
OutcomeGroupsApiController#link
POST /api/v1/global/outcome_groups/:id/outcomes
POST /api/v1/global/outcome_groups/:id/outcomes
Scope: url:POST|/api/v1/global/outcome_groups/:id/outcomes
PUT /api/v1/global/outcome_groups/:id/outcomes/:outcome_id
PUT /api/v1/global/outcome_groups/:id/outcomes/:outcome_id
Scope: url:PUT|/api/v1/global/outcome_groups/:id/outcomes/:outcome_id
POST /api/v1/accounts/:account_id/outcome_groups/:id/outcomes
POST /api/v1/accounts/:account_id/outcome_groups/:id/outcomes
Scope: url:POST|/api/v1/accounts/:account_id/outcome_groups/:id/outcomes
PUT /api/v1/accounts/:account_id/outcome_groups/:id/outcomes/:outcome_id
PUT /api/v1/accounts/:account_id/outcome_groups/:id/outcomes/:outcome_id
Scope: url:PUT|/api/v1/accounts/:account_id/outcome_groups/:id/outcomes/:outcome_id
POST /api/v1/courses/:course_id/outcome_groups/:id/outcomes
POST /api/v1/courses/:course_id/outcome_groups/:id/outcomes
Scope: url:POST|/api/v1/courses/:course_id/outcome_groups/:id/outcomes
PUT /api/v1/courses/:course_id/outcome_groups/:id/outcomes/:outcome_id
PUT /api/v1/courses/:course_id/outcome_groups/:id/outcomes/:outcome_id
Scope: url:PUT|/api/v1/courses/:course_id/outcome_groups/:id/outcomes/:outcome_id
Link an outcome into the outcome group. The outcome to link can either be specified by a PUT to the link URL for a specific outcome (the outcome_id in the PUT URLs) or by supplying the information for a new outcome (title, description, ratings, mastery_points) in a POST to the collection.
If linking an existing outcome, the outcome_id must identify an outcome available to this context; i.e. an outcome owned by this group’s context, an outcome owned by an associated account, or a global outcome. With outcome_id present, any other parameters (except move_from) are ignored.
If defining a new outcome, the outcome is created in the outcome group’s context using the provided title, description, ratings, and mastery points; the title is required but all other fields are optional. The new outcome is then linked into the outcome group.
If ratings are provided when creating a new outcome, an embedded rubric criterion is included in the new outcome. This criterion’s mastery_points default to the maximum points in the highest rating if not specified in the mastery_points parameter. Any ratings lacking a description are given a default of “No description”. Any ratings lacking a point value are given a default of 0. If no ratings are provided, the mastery_points parameter is ignored.
Request Parameters:
Example Request:
Returns an OutcomeLink object.
OutcomeGroupsApiController#unlink
DELETE /api/v1/global/outcome_groups/:id/outcomes/:outcome_id
DELETE /api/v1/global/outcome_groups/:id/outcomes/:outcome_id
Scope: url:DELETE|/api/v1/global/outcome_groups/:id/outcomes/:outcome_id
DELETE /api/v1/accounts/:account_id/outcome_groups/:id/outcomes/:outcome_id
DELETE /api/v1/accounts/:account_id/outcome_groups/:id/outcomes/:outcome_id
Scope: url:DELETE|/api/v1/accounts/:account_id/outcome_groups/:id/outcomes/:outcome_id
DELETE /api/v1/courses/:course_id/outcome_groups/:id/outcomes/:outcome_id
DELETE /api/v1/courses/:course_id/outcome_groups/:id/outcomes/:outcome_id
Scope: url:DELETE|/api/v1/courses/:course_id/outcome_groups/:id/outcomes/:outcome_id
Unlinking an outcome only deletes the outcome itself if this was the last link to the outcome in any group in any context. Aligned outcomes cannot be deleted; as such, if this is the last link to an aligned outcome, the unlinking will fail.
Example Request:
Returns an OutcomeLink object.
OutcomeGroupsApiController#subgroups
GET /api/v1/global/outcome_groups/:id/subgroups
GET /api/v1/global/outcome_groups/:id/subgroups
Scope: url:GET|/api/v1/global/outcome_groups/:id/subgroups
GET /api/v1/accounts/:account_id/outcome_groups/:id/subgroups
GET /api/v1/accounts/:account_id/outcome_groups/:id/subgroups
Scope: url:GET|/api/v1/accounts/:account_id/outcome_groups/:id/subgroups
GET /api/v1/courses/:course_id/outcome_groups/:id/subgroups
GET /api/v1/courses/:course_id/outcome_groups/:id/subgroups
Scope: url:GET|/api/v1/courses/:course_id/outcome_groups/:id/subgroups
A paginated list of the immediate OutcomeGroup children of the outcome group.
Returns a list of OutcomeGroup objects.
OutcomeGroupsApiController#create
POST /api/v1/global/outcome_groups/:id/subgroups
POST /api/v1/global/outcome_groups/:id/subgroups
Scope: url:POST|/api/v1/global/outcome_groups/:id/subgroups
POST /api/v1/accounts/:account_id/outcome_groups/:id/subgroups
POST /api/v1/accounts/:account_id/outcome_groups/:id/subgroups
Scope: url:POST|/api/v1/accounts/:account_id/outcome_groups/:id/subgroups
POST /api/v1/courses/:course_id/outcome_groups/:id/subgroups
POST /api/v1/courses/:course_id/outcome_groups/:id/subgroups
Scope: url:POST|/api/v1/courses/:course_id/outcome_groups/:id/subgroups
Creates a new empty subgroup under the outcome group with the given title and description.
Request Parameters:
Example Request:
Returns an OutcomeGroup object.
OutcomeGroupsApiController#import
POST /api/v1/global/outcome_groups/:id/import
POST /api/v1/global/outcome_groups/:id/import
Scope: url:POST|/api/v1/global/outcome_groups/:id/import
POST /api/v1/accounts/:account_id/outcome_groups/:id/import
POST /api/v1/accounts/:account_id/outcome_groups/:id/import
Scope: url:POST|/api/v1/accounts/:account_id/outcome_groups/:id/import
POST /api/v1/courses/:course_id/outcome_groups/:id/import
POST /api/v1/courses/:course_id/outcome_groups/:id/import
Scope: url:POST|/api/v1/courses/:course_id/outcome_groups/:id/import
Creates a new subgroup of the outcome group with the same title and description as the source group, then creates links in that new subgroup to the same outcomes that are linked in the source group. Recurses on the subgroups of the source group, importing them each in turn into the new subgroup.
Allows you to copy organizational structure, but does not create copies of the outcomes themselves, only new links.
The source group must be either global, from the same context as this outcome group, or from an associated account. The source group cannot be the root outcome group of its context.
Request Parameters:
Example Request:
Returns an OutcomeGroup object.
© Instructure, Inc. Generated on Wed Nov 6 14:20:08 2024 This documentation is generated directly from the Canvas LMS source code, available on Github.
Last updated