openapi: 3.2.0 info: title: Canvas LMS REST Outcome Groups API version: v1 summary: The complete Canvas LMS REST API, converted from the Swagger 1.2 documents Instructure publishes under https://canvas.instructure.com/doc/api/. description: The Canvas LMS REST API covers courses, assignments, quizzes, grades, users, enrollments, accounts, files, modules, rubrics, submissions, SIS imports, LTI, analytics and account administration. contact: name: Instructure Canvas url: https://canvas.instructure.com/doc/api/ license: name: AGPL-3.0 url: https://github.com/instructure/canvas-lms/blob/master/LICENSE servers: - url: https://canvas.instructure.com/api description: Instructure-hosted Canvas (canvas.instructure.com) - url: https://{canvas_host}/api description: Any Canvas instance; Canvas is multi-tenant and self-hostable, so the host is the institution's Canvas domain. variables: canvas_host: default: canvas.instructure.com description: Your institution's Canvas hostname, e.g. school.instructure.com security: - bearerAuth: [] - oauth2: [] tags: - name: Outcome Groups x-resource: outcome_groups externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html paths: /v1/global/root_outcome_group: get: tags: - Outcome Groups operationId: redirect_to_root_outcome_group_for_context_global summary: Redirect to root outcome group for context description: 'Convenience redirect to find the root outcome group for a particular context. Will redirect to the appropriate outcome group''s URL.' responses: '200': description: Success, no content returned externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/accounts/{account_id}/root_outcome_group: get: tags: - Outcome Groups operationId: redirect_to_root_outcome_group_for_context_accounts summary: Redirect to root outcome group for context description: 'Convenience redirect to find the root outcome group for a particular context. Will redirect to the appropriate outcome group''s URL.' parameters: - name: account_id in: path schema: type: string required: true description: ID responses: '200': description: Success, no content returned externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/courses/{course_id}/root_outcome_group: get: tags: - Outcome Groups operationId: redirect_to_root_outcome_group_for_context_courses summary: Redirect to root outcome group for context description: 'Convenience redirect to find the root outcome group for a particular context. Will redirect to the appropriate outcome group''s URL.' parameters: - name: course_id in: path schema: type: string required: true description: ID responses: '200': description: Success, no content returned externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/accounts/{account_id}/outcome_groups: get: tags: - Outcome Groups operationId: get_all_outcome_groups_for_context_accounts summary: Get all outcome groups for context description: Returns a list of all outcome groups in the specified context. parameters: - name: account_id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/courses/{course_id}/outcome_groups: get: tags: - Outcome Groups operationId: get_all_outcome_groups_for_context_courses summary: Get all outcome groups for context description: Returns a list of all outcome groups in the specified context. parameters: - name: course_id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/accounts/{account_id}/outcome_group_links: get: tags: - Outcome Groups operationId: get_all_outcome_links_for_context_accounts summary: Get all outcome links for context description: Returns a list of all outcome links in the specified context. parameters: - name: account_id in: path schema: type: string required: true description: ID - name: outcome_style in: query schema: type: string required: false description: 'The detail level of the outcomes. Defaults to "abbrev". Specify "full" for more information.' - name: outcome_group_style in: query schema: type: string required: false description: 'The detail level of the outcome groups. Defaults to "abbrev". Specify "full" for more information.' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/courses/{course_id}/outcome_group_links: get: tags: - Outcome Groups operationId: get_all_outcome_links_for_context_courses summary: Get all outcome links for context description: Returns a list of all outcome links in the specified context. parameters: - name: course_id in: path schema: type: string required: true description: ID - name: outcome_style in: query schema: type: string required: false description: 'The detail level of the outcomes. Defaults to "abbrev". Specify "full" for more information.' - name: outcome_group_style in: query schema: type: string required: false description: 'The detail level of the outcome groups. Defaults to "abbrev". Specify "full" for more information.' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/global/outcome_groups/{id}: get: tags: - Outcome Groups operationId: show_outcome_group_global summary: Show an outcome group description: Returns detailed information about a specific outcome group. parameters: - name: id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html put: tags: - Outcome Groups operationId: update_outcome_group_global summary: Update an outcome group description: '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).' parameters: - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: The new outcome group title. description: type: string description: The new outcome group description. vendor_guid: type: string description: A custom GUID for the learning standard. parent_outcome_group_id: type: integer format: int64 description: The id of the new parent outcome group. application/x-www-form-urlencoded: schema: type: object properties: title: type: string description: The new outcome group title. description: type: string description: The new outcome group description. vendor_guid: type: string description: A custom GUID for the learning standard. parent_outcome_group_id: type: integer format: int64 description: The id of the new parent outcome group. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html delete: tags: - Outcome Groups operationId: delete_outcome_group_global summary: Delete an outcome group description: '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.' parameters: - name: id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/accounts/{account_id}/outcome_groups/{id}: get: tags: - Outcome Groups operationId: show_outcome_group_accounts summary: Show an outcome group description: Returns detailed information about a specific outcome group. parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html put: tags: - Outcome Groups operationId: update_outcome_group_accounts summary: Update an outcome group description: '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).' parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: The new outcome group title. description: type: string description: The new outcome group description. vendor_guid: type: string description: A custom GUID for the learning standard. parent_outcome_group_id: type: integer format: int64 description: The id of the new parent outcome group. application/x-www-form-urlencoded: schema: type: object properties: title: type: string description: The new outcome group title. description: type: string description: The new outcome group description. vendor_guid: type: string description: A custom GUID for the learning standard. parent_outcome_group_id: type: integer format: int64 description: The id of the new parent outcome group. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html delete: tags: - Outcome Groups operationId: delete_outcome_group_accounts summary: Delete an outcome group description: '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.' parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/courses/{course_id}/outcome_groups/{id}: get: tags: - Outcome Groups operationId: show_outcome_group_courses summary: Show an outcome group description: Returns detailed information about a specific outcome group. parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html put: tags: - Outcome Groups operationId: update_outcome_group_courses summary: Update an outcome group description: '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).' parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: The new outcome group title. description: type: string description: The new outcome group description. vendor_guid: type: string description: A custom GUID for the learning standard. parent_outcome_group_id: type: integer format: int64 description: The id of the new parent outcome group. application/x-www-form-urlencoded: schema: type: object properties: title: type: string description: The new outcome group title. description: type: string description: The new outcome group description. vendor_guid: type: string description: A custom GUID for the learning standard. parent_outcome_group_id: type: integer format: int64 description: The id of the new parent outcome group. responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html delete: tags: - Outcome Groups operationId: delete_outcome_group_courses summary: Delete an outcome group description: '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.' parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/global/outcome_groups/{id}/outcomes: get: tags: - Outcome Groups operationId: list_linked_outcomes_global summary: List linked outcomes description: A paginated list of the immediate OutcomeLink children of the outcome group. parameters: - name: id in: path schema: type: string required: true description: ID - name: outcome_style in: query schema: type: string required: false description: 'The detail level of the outcomes. Defaults to "abbrev". Specify "full" for more information.' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html post: tags: - Outcome Groups operationId: create_link_outcome_global summary: Create/link an outcome description: '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.' parameters: - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: outcome_id: type: integer format: int64 description: The ID of the existing outcome to link. move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 application/x-www-form-urlencoded: schema: type: object properties: outcome_id: type: integer format: int64 description: The ID of the existing outcome to link. move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/accounts/{account_id}/outcome_groups/{id}/outcomes: get: tags: - Outcome Groups operationId: list_linked_outcomes_accounts summary: List linked outcomes description: A paginated list of the immediate OutcomeLink children of the outcome group. parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID - name: outcome_style in: query schema: type: string required: false description: 'The detail level of the outcomes. Defaults to "abbrev". Specify "full" for more information.' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html post: tags: - Outcome Groups operationId: create_link_outcome_accounts summary: Create/link an outcome description: '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.' parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: outcome_id: type: integer format: int64 description: The ID of the existing outcome to link. move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 application/x-www-form-urlencoded: schema: type: object properties: outcome_id: type: integer format: int64 description: The ID of the existing outcome to link. move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/courses/{course_id}/outcome_groups/{id}/outcomes: get: tags: - Outcome Groups operationId: list_linked_outcomes_courses summary: List linked outcomes description: A paginated list of the immediate OutcomeLink children of the outcome group. parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID - name: outcome_style in: query schema: type: string required: false description: 'The detail level of the outcomes. Defaults to "abbrev". Specify "full" for more information.' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html post: tags: - Outcome Groups operationId: create_link_outcome_courses summary: Create/link an outcome description: '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.' parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: outcome_id: type: integer format: int64 description: The ID of the existing outcome to link. move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 application/x-www-form-urlencoded: schema: type: object properties: outcome_id: type: integer format: int64 description: The ID of the existing outcome to link. move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/global/outcome_groups/{id}/outcomes/{outcome_id}: put: tags: - Outcome Groups operationId: create_link_outcome_global_outcome_id summary: Create/link an outcome description: '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.' parameters: - name: id in: path schema: type: string required: true description: ID - name: outcome_id in: path schema: type: integer format: int64 required: true description: The ID of the existing outcome to link. requestBody: required: false content: application/json: schema: type: object properties: move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 application/x-www-form-urlencoded: schema: type: object properties: move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html delete: tags: - Outcome Groups operationId: unlink_outcome_global summary: Unlink an outcome description: '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.' parameters: - name: id in: path schema: type: string required: true description: ID - name: outcome_id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/accounts/{account_id}/outcome_groups/{id}/outcomes/{outcome_id}: put: tags: - Outcome Groups operationId: create_link_outcome_accounts_outcome_id summary: Create/link an outcome description: '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.' parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID - name: outcome_id in: path schema: type: integer format: int64 required: true description: The ID of the existing outcome to link. requestBody: required: false content: application/json: schema: type: object properties: move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 application/x-www-form-urlencoded: schema: type: object properties: move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html delete: tags: - Outcome Groups operationId: unlink_outcome_accounts summary: Unlink an outcome description: '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.' parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID - name: outcome_id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/courses/{course_id}/outcome_groups/{id}/outcomes/{outcome_id}: put: tags: - Outcome Groups operationId: create_link_outcome_courses_outcome_id summary: Create/link an outcome description: '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.' parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID - name: outcome_id in: path schema: type: integer format: int64 required: true description: The ID of the existing outcome to link. requestBody: required: false content: application/json: schema: type: object properties: move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 application/x-www-form-urlencoded: schema: type: object properties: move_from: type: integer format: int64 description: The ID of the old outcome group. Only used if outcome_id is present. title: type: string description: The title of the new outcome. Required if outcome_id is absent. display_name: type: string description: 'A friendly name shown in reports for outcomes with cryptic titles, such as common core standards names.' description: type: string description: The description of the new outcome. vendor_guid: type: string description: A custom GUID for the learning standard. mastery_points: type: integer format: int64 description: The mastery threshold for the embedded rubric criterion. ratings[description]: type: array items: type: string description: The description of a rating level for the embedded rubric criterion. ratings[points]: type: array items: type: integer description: The points corresponding to a rating level for the embedded rubric criterion. calculation_method: type: string enum: - weighted_average - decaying_average - n_mastery - latest - highest - average description: 'The new calculation method. Defaults to "decaying_average" if the Outcomes New Decaying Average Calculation Method FF is ENABLED then Defaults to "weighted_average"' calculation_int: type: integer format: int64 description: The new calculation int. Only applies if the calculation_method is "weighted_average", "decaying_average" or "n_mastery". Defaults to 65 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html delete: tags: - Outcome Groups operationId: unlink_outcome_courses summary: Unlink an outcome description: '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.' parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID - name: outcome_id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeLink' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/global/outcome_groups/{id}/subgroups: get: tags: - Outcome Groups operationId: list_subgroups_global summary: List subgroups description: A paginated list of the immediate OutcomeGroup children of the outcome group. parameters: - name: id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html post: tags: - Outcome Groups operationId: create_subgroup_global summary: Create a subgroup description: 'Creates a new empty subgroup under the outcome group with the given title and description.' parameters: - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: The title of the new outcome group. description: type: string description: The description of the new outcome group. vendor_guid: type: string description: A custom GUID for the learning standard required: - title application/x-www-form-urlencoded: schema: type: object properties: title: type: string description: The title of the new outcome group. description: type: string description: The description of the new outcome group. vendor_guid: type: string description: A custom GUID for the learning standard required: - title responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/accounts/{account_id}/outcome_groups/{id}/subgroups: get: tags: - Outcome Groups operationId: list_subgroups_accounts summary: List subgroups description: A paginated list of the immediate OutcomeGroup children of the outcome group. parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html post: tags: - Outcome Groups operationId: create_subgroup_accounts summary: Create a subgroup description: 'Creates a new empty subgroup under the outcome group with the given title and description.' parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: The title of the new outcome group. description: type: string description: The description of the new outcome group. vendor_guid: type: string description: A custom GUID for the learning standard required: - title application/x-www-form-urlencoded: schema: type: object properties: title: type: string description: The title of the new outcome group. description: type: string description: The description of the new outcome group. vendor_guid: type: string description: A custom GUID for the learning standard required: - title responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/courses/{course_id}/outcome_groups/{id}/subgroups: get: tags: - Outcome Groups operationId: list_subgroups_courses summary: List subgroups description: A paginated list of the immediate OutcomeGroup children of the outcome group. parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html post: tags: - Outcome Groups operationId: create_subgroup_courses summary: Create a subgroup description: 'Creates a new empty subgroup under the outcome group with the given title and description.' parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: The title of the new outcome group. description: type: string description: The description of the new outcome group. vendor_guid: type: string description: A custom GUID for the learning standard required: - title application/x-www-form-urlencoded: schema: type: object properties: title: type: string description: The title of the new outcome group. description: type: string description: The description of the new outcome group. vendor_guid: type: string description: A custom GUID for the learning standard required: - title responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/global/outcome_groups/{id}/import: post: tags: - Outcome Groups operationId: import_outcome_group_global summary: Import an outcome group description: '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.' parameters: - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: source_outcome_group_id: type: integer format: int64 description: The ID of the source outcome group. async: type: boolean description: 'If true, perform action asynchronously. In that case, this endpoint will return a Progress object instead of an OutcomeGroup. Use the {api:ProgressController#show progress endpoint} to query the status of the operation. The imported outcome group id and url will be returned in the results of the Progress object as "outcome_group_id" and "outcome_group_url"' required: - source_outcome_group_id application/x-www-form-urlencoded: schema: type: object properties: source_outcome_group_id: type: integer format: int64 description: The ID of the source outcome group. async: type: boolean description: 'If true, perform action asynchronously. In that case, this endpoint will return a Progress object instead of an OutcomeGroup. Use the {api:ProgressController#show progress endpoint} to query the status of the operation. The imported outcome group id and url will be returned in the results of the Progress object as "outcome_group_id" and "outcome_group_url"' required: - source_outcome_group_id responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/accounts/{account_id}/outcome_groups/{id}/import: post: tags: - Outcome Groups operationId: import_outcome_group_accounts summary: Import an outcome group description: '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.' parameters: - name: account_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: source_outcome_group_id: type: integer format: int64 description: The ID of the source outcome group. async: type: boolean description: 'If true, perform action asynchronously. In that case, this endpoint will return a Progress object instead of an OutcomeGroup. Use the {api:ProgressController#show progress endpoint} to query the status of the operation. The imported outcome group id and url will be returned in the results of the Progress object as "outcome_group_id" and "outcome_group_url"' required: - source_outcome_group_id application/x-www-form-urlencoded: schema: type: object properties: source_outcome_group_id: type: integer format: int64 description: The ID of the source outcome group. async: type: boolean description: 'If true, perform action asynchronously. In that case, this endpoint will return a Progress object instead of an OutcomeGroup. Use the {api:ProgressController#show progress endpoint} to query the status of the operation. The imported outcome group id and url will be returned in the results of the Progress object as "outcome_group_id" and "outcome_group_url"' required: - source_outcome_group_id responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html /v1/courses/{course_id}/outcome_groups/{id}/import: post: tags: - Outcome Groups operationId: import_outcome_group_courses summary: Import an outcome group description: '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.' parameters: - name: course_id in: path schema: type: string required: true description: ID - name: id in: path schema: type: string required: true description: ID requestBody: required: false content: application/json: schema: type: object properties: source_outcome_group_id: type: integer format: int64 description: The ID of the source outcome group. async: type: boolean description: 'If true, perform action asynchronously. In that case, this endpoint will return a Progress object instead of an OutcomeGroup. Use the {api:ProgressController#show progress endpoint} to query the status of the operation. The imported outcome group id and url will be returned in the results of the Progress object as "outcome_group_id" and "outcome_group_url"' required: - source_outcome_group_id application/x-www-form-urlencoded: schema: type: object properties: source_outcome_group_id: type: integer format: int64 description: The ID of the source outcome group. async: type: boolean description: 'If true, perform action asynchronously. In that case, this endpoint will return a Progress object instead of an OutcomeGroup. Use the {api:ProgressController#show progress endpoint} to query the status of the operation. The imported outcome group id and url will be returned in the results of the Progress object as "outcome_group_id" and "outcome_group_url"' required: - source_outcome_group_id responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/OutcomeGroup' externalDocs: url: https://canvas.instructure.com/doc/api/outcome_groups.html components: schemas: OutcomeLink: type: object properties: url: type: string example: /api/v1/accounts/1/outcome_groups/1/outcomes/1 description: the URL for fetching/updating the outcome link. should be treated as opaque context_id: type: integer example: 1 description: the context owning the outcome link. will match the context owning the outcome group containing the outcome link; included for convenience. may be null for links in global outcome groups. context_type: type: string example: Account outcome_group: type: string description: an abbreviated OutcomeGroup object representing the group containing the outcome link. outcome: type: string description: an abbreviated Outcome object representing the outcome linked into the containing outcome group. assessed: type: boolean example: true description: whether this outcome has been used to assess a student in the context of this outcome link. In other words, this will be set to true if the context is a course, and a student has been assessed with this outcome in that course. can_unlink: type: boolean description: whether this outcome link is manageable and is not the last link to an aligned outcome OutcomeGroup: type: object properties: id: type: integer example: 1 description: the ID of the outcome group url: type: string example: /api/v1/accounts/1/outcome_groups/1 description: the URL for fetching/updating the outcome group. should be treated as opaque parent_outcome_group: type: string description: an abbreviated OutcomeGroup object representing the parent group of this outcome group, if any. omitted in the abbreviated form. context_id: type: integer example: 1 description: the context owning the outcome group. may be null for global outcome groups. omitted in the abbreviated form. context_type: type: string example: Account title: type: string example: Outcome group title description: title of the outcome group description: type: string example: Outcome group description description: description of the outcome group. omitted in the abbreviated form. vendor_guid: type: string example: customid9000 description: A custom GUID for the learning standard. subgroups_url: type: string example: /api/v1/accounts/1/outcome_groups/1/subgroups description: the URL for listing/creating subgroups under the outcome group. should be treated as opaque outcomes_url: type: string example: /api/v1/accounts/1/outcome_groups/1/outcomes description: the URL for listing/creating outcome links under the outcome group. should be treated as opaque import_url: type: string example: /api/v1/accounts/1/outcome_groups/1/import description: the URL for importing another group into this outcome group. should be treated as opaque. omitted in the abbreviated form. can_edit: type: boolean example: true description: whether the current user can update the outcome group securitySchemes: bearerAuth: type: http scheme: bearer description: 'Canvas OAuth2 access token sent as "Authorization: Bearer ". See https://canvas.instructure.com/doc/api/file.oauth.html' oauth2: type: oauth2 description: Canvas OAuth2. See https://canvas.instructure.com/doc/api/file.oauth.html and https://canvas.instructure.com/doc/api/file.oauth_endpoints.html flows: authorizationCode: authorizationUrl: https://canvas.instructure.com/login/oauth2/auth tokenUrl: https://canvas.instructure.com/login/oauth2/token refreshUrl: https://canvas.instructure.com/login/oauth2/token scopes: {} externalDocs: description: Canvas LMS REST API Documentation url: https://canvas.instructure.com/doc/api/ x-generated-from: https://canvas.instructure.com/doc/api/api-docs.json x-provenance: method: derived derived_by: API Evangelist enrichment pipeline (Swagger 1.2 -> OpenAPI 3.1 conversion) source: openapi/_original/swagger-1.2/*.json (144 verbatim first-party Swagger 1.2 documents) source_url: https://canvas.instructure.com/doc/api/api-docs.json fetched: '2026-09-05' http_status: 200