openapi: 3.2.0 info: title: Canvas LMS REST Lti Launch Definitions 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: Lti Launch Definitions x-resource: lti_launch_definitions externalDocs: url: https://canvas.instructure.com/doc/api/lti_launch_definitions.html paths: /v1/courses/{course_id}/lti_apps/launch_definitions: get: tags: - Lti Launch Definitions operationId: list_lti_launch_definitions_courses summary: List LTI Launch Definitions description: 'List all tools available in this context for the given placements, in the form of Launch Definitions. Used primarily by the Canvas frontend. API users should consider using the External Tools API instead. This endpoint is cached for 10 minutes!' parameters: - name: course_id in: path schema: type: string required: true description: ID - name: placements[Array] in: query schema: type: string required: false description: The placements to return launch definitions for. If not provided, an empty list will be returned. - name: only_visible[Boolean] in: query schema: type: string required: false description: If true, only return launch definitions that are visible to the current user. Defaults to true. - name: include_context_name[Boolean] in: query schema: type: string required: false description: If true, includes the deployment context name (account or course) of the tool definition in the response. This helps distinguish between tools with identical names deployed at different levels of the context hierarchy. Defaults to false. responses: '200': description: Success, no content returned externalDocs: url: https://canvas.instructure.com/doc/api/lti_launch_definitions.html /v1/accounts/{account_id}/lti_apps/launch_definitions: get: tags: - Lti Launch Definitions operationId: list_lti_launch_definitions_accounts summary: List LTI Launch Definitions description: 'List all tools available in this context for the given placements, in the form of Launch Definitions. Used primarily by the Canvas frontend. API users should consider using the External Tools API instead. This endpoint is cached for 10 minutes!' parameters: - name: account_id in: path schema: type: string required: true description: ID - name: placements[Array] in: query schema: type: string required: false description: The placements to return launch definitions for. If not provided, an empty list will be returned. - name: only_visible[Boolean] in: query schema: type: string required: false description: If true, only return launch definitions that are visible to the current user. Defaults to true. - name: include_context_name[Boolean] in: query schema: type: string required: false description: If true, includes the deployment context name (account or course) of the tool definition in the response. This helps distinguish between tools with identical names deployed at different levels of the context hierarchy. Defaults to false. responses: '200': description: Success, no content returned externalDocs: url: https://canvas.instructure.com/doc/api/lti_launch_definitions.html components: 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