{ "domain": "lti-toolconfigurationsapi", "examples": [ { "type": "request", "operation": "POST /api/lti/accounts/{account_id}/developer_keys/tool_configuration", "summary": "create", "content_type": "application/x-www-form-urlencoded", "example": { "developer_key": { "email": "test@test.com", "name": "Test Dev Key", "notes": "Some cool notes", "public_jwk_url": "https://www.test.com", "redirect_uris": "http://www.test.com\r\nhttp://www.anothertest.com", "require_scopes": "true", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem" ], "test_cluster_only": "true" }, "developer_key_id": "142196", "tool_configuration": { "privacy_level": "public", "settings": { "custom_fields": { "has_expansion": "$Canvas.user.id", "no_expansion": "foo" }, "description": "1.3 Tool", "extensions": [ { "platform": "canvas.instructure.com", "privacy_level": "public", "tool_id": "LTI 1.3 Test Tool", "domain": "http://lti13testtool.docker", "settings": { "icon_url": "https://static.thenounproject.com/png/131630-200.png", "selection_height": "500", "selection_width": "500", "text": "LTI 1.3 Test Tool Extension text", "placements": [ { "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "canvas_icon_class": "icon-pdf", "icon_url": "https://static.thenounproject.com/png/131630-211.png", "text": "LTI 1.3 Test Tool Course Navigation", "target_link_uri": "http://lti13testtool.docker/launch?placement=course_navigation", "enabled": "true" }, { "placement": "account_navigation", "message_type": "LtiResourceLinkRequest", "canvas_icon_class": "icon-lti", "icon_url": "https://static.thenounproject.com/png/131630-211.png", "target_link_uri": "http://lti13testtool.docker/launch?placement=account_navigation", "text": "LTI 1.3 Test Tool Course Navigation", "enabled": "true" } ] } } ], "oidc_initiation_url": "http://lti13testtool.docker/blti_launch", "public_jwk": { "alg": "RS256", "e": "AQAB", "kid": "2018-09-18T21:55:18Z", "kty": "RSA", "n": "2YGluUtCi62Ww_TWB38OE6wTaN...", "use": "sig" }, "target_link_uri": "http://lti13testtool.docker/blti_launch", "title": "LTI 1.3 Tool", "public_jwk_url": "https://test.com" }, "custom_fields": "foo=bar\r\nkey=value", "disabled_placements": [ "course_navigation", "account_navigation" ], "settings_url": "https://www.mytool.com/config/json" } } }, { "type": "response", "operation": "POST /api/lti/accounts/{account_id}/developer_keys/tool_configuration", "summary": "create", "status_code": "200", "content_type": "application/json", "example": { "tool_configuration": { "id": 938667, "developer_key_id": 142208, "settings": { "custom_fields": { "has_expansion": "$Canvas.user.id", "no_expansion": "foo", "foo": "bar", "key": "value" }, "description": "1.3 Tool", "extensions": [ { "platform": "canvas.instructure.com", "privacy_level": "public", "tool_id": "LTI 1.3 Test Tool", "domain": "http://lti13testtool.docker", "settings": { "icon_url": "https://static.thenounproject.com/png/131630-200.png", "selection_height": "500", "selection_width": "500", "text": "LTI 1.3 Test Tool Extension text", "placements": [ { "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "canvas_icon_class": "icon-pdf", "icon_url": "https://static.thenounproject.com/png/131630-211.png", "text": "LTI 1.3 Test Tool Course Navigation", "target_link_uri": "http://lti13testtool.docker/launch?placement=course_navigation", "enabled": "true" }, { "placement": "account_navigation", "message_type": "LtiResourceLinkRequest", "canvas_icon_class": "icon-lti", "icon_url": "https://static.thenounproject.com/png/131630-211.png", "target_link_uri": "http://lti13testtool.docker/launch?placement=account_navigation", "text": "LTI 1.3 Test Tool Course Navigation", "enabled": "true" } ] } } ], "oidc_initiation_url": "http://lti13testtool.docker/blti_launch", "public_jwk": { "alg": "RS256", "e": "AQAB", "kid": "2018-09-18T21:55:18Z", "kty": "RSA", "n": "2YGluUtCi62Ww_TWB38OE6wTaN...", "use": "sig" }, "target_link_uri": "http://lti13testtool.docker/blti_launch", "title": "LTI 1.3 Tool", "scopes": [], "public_jwk_url": "https://test.com" }, "created_at": "2023-12-15T05:37:19Z", "updated_at": "2023-12-15T05:37:19Z", "disabled_placements": null, "privacy_level": "public" }, "developer_key": { "email": "test@test.com", "user_name": null, "created_at": "2023-12-15T05:37:19Z", "user_id": null, "name": "Test Dev Key", "icon_url": null, "workflow_state": "active", "notes": "Some cool notes", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem" ], "require_scopes": true, "client_credentials_audience": null, "api_key": "HfrL9VimHfBkRdyeAF64iIjxqXFQrF9gpac3MsmUXHRMzRW5lFuF0y8zY1bfwsVB", "redirect_uri": null, "redirect_uris": "http://www.test.com\nhttp://www.anothertest.com", "access_token_count": 0, "last_used_at": null, "vendor_code": null, "public_jwk": { "alg": "RS256", "e": "AQAB", "kid": "2018-09-18T21:55:18Z", "kty": "RSA", "n": "2YGluUtCi62Ww_TWB38OE6wTaN...", "use": "sig" }, "public_jwk_url": null, "allow_includes": false, "developer_key_account_binding": { "id": 1037219, "account_id": 8095, "developer_key_id": 142208, "workflow_state": "off", "account_owns_binding": true }, "account_name": "value for name", "visible": true, "is_lti_key": true, "is_lti_registration": false, "id": 142208 } } }, { "type": "response", "operation": "GET /api/lti/accounts/{account_id}/developer_keys/{developer_key_id}/tool_configuration", "summary": "show", "status_code": "200", "content_type": "application/json", "example": { "tool_configuration": { "id": 938648, "developer_key_id": 142176, "settings": { "title": "LTI 1.3 Tool", "scopes": [], "extensions": [ { "domain": "http://lti13testtool.docker", "tool_id": "LTI 1.3 Test Tool", "platform": "canvas.instructure.com", "settings": { "text": "LTI 1.3 Test Tool Extension text", "icon_url": "https://static.thenounproject.com/png/131630-200.png", "placements": [ { "text": "LTI 1.3 Test Tool Course Navigation", "enabled": true, "icon_url": "https://static.thenounproject.com/png/131630-211.png", "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "target_link_uri": "http://lti13testtool.docker/launch?placement=course_navigation", "canvas_icon_class": "icon-pdf" }, { "text": "LTI 1.3 Test Tool Course Navigation", "enabled": true, "icon_url": "https://static.thenounproject.com/png/131630-211.png", "placement": "account_navigation", "message_type": "LtiResourceLinkRequest", "target_link_uri": "http://lti13testtool.docker/launch?placement=account_navigation", "canvas_icon_class": "icon-lti" } ], "selection_width": 500, "selection_height": 500 }, "privacy_level": "public" } ], "public_jwk": { "e": "AQAB", "n": "2YGluUtCi62Ww_TWB38OE6wTaN...", "alg": "RS256", "kid": "2018-09-18T21:55:18Z", "kty": "RSA", "use": "sig" }, "description": "1.3 Tool", "custom_fields": { "no_expansion": "foo", "has_expansion": "$Canvas.user.id" }, "target_link_uri": "http://lti13testtool.docker/blti_launch", "oidc_initiation_url": "http://lti13testtool.docker/blti_launch" }, "created_at": "2023-12-15T05:37:07Z", "updated_at": "2023-12-15T05:37:07Z", "disabled_placements": [], "privacy_level": "public" }, "developer_key": { "email": null, "user_name": null, "created_at": "2023-12-15T05:37:07Z", "user_id": null, "name": null, "icon_url": null, "workflow_state": "active", "notes": null, "scopes": [], "require_scopes": false, "client_credentials_audience": null, "api_key": "SI3SR1KilXPHrjO2lmsBIRcIYuBAzrRjgvpf2Sagt2IHpn40ISOeJYjBPJwg4R3J", "redirect_uri": null, "redirect_uris": "", "access_token_count": 0, "last_used_at": null, "vendor_code": null, "public_jwk": null, "public_jwk_url": null, "allow_includes": false, "developer_key_account_binding": { "id": 1037187, "account_id": 8093, "developer_key_id": 142176, "workflow_state": "on", "account_owns_binding": true }, "account_name": "Default Account", "visible": true, "is_lti_key": false, "is_lti_registration": false, "id": 142176 } } }, { "type": "request", "operation": "PUT /api/lti/developer_keys/{developer_key_id}/tool_configuration", "summary": "update", "content_type": "application/x-www-form-urlencoded", "example": { "account_id": "8095", "developer_key": { "email": "test@test.com", "name": "Test Dev Key", "notes": "Some cool notes", "public_jwk_url": "https://www.test.com", "redirect_uris": "http://www.test.com\r\nhttp://www.anothertest.com", "require_scopes": "true", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem" ], "test_cluster_only": "true" }, "tool_configuration": { "privacy_level": "public", "settings": { "custom_fields": { "has_expansion": "$Canvas.user.id", "no_expansion": "foo" }, "description": "1.3 Tool", "extensions": [ { "platform": "canvas.instructure.com", "privacy_level": "public", "tool_id": "LTI 1.3 Test Tool", "domain": "http://lti13testtool.docker", "settings": { "icon_url": "https://static.thenounproject.com/png/131630-200.png", "selection_height": "500", "selection_width": "500", "text": "LTI 1.3 Test Tool Extension text", "placements": [ { "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "canvas_icon_class": "icon-pdf", "icon_url": "https://static.thenounproject.com/png/131630-211.png", "text": "LTI 1.3 Test Tool Course Navigation", "target_link_uri": "http://lti13testtool.docker/launch?placement=course_navigation", "enabled": "true" }, { "placement": "account_navigation", "message_type": "LtiResourceLinkRequest", "canvas_icon_class": "icon-lti", "icon_url": "https://static.thenounproject.com/png/131630-211.png", "target_link_uri": "http://lti13testtool.docker/launch?placement=account_navigation", "text": "LTI 1.3 Test Tool Course Navigation", "enabled": "true" } ] } } ], "oidc_initiation_url": "http://lti13testtool.docker/blti_launch", "public_jwk": { "alg": "RS256", "e": "AQAB", "kid": "2018-09-18T21:55:18Z", "kty": "RSA", "n": "2YGluUtCi62Ww_TWB38OE6wTaN...", "use": "sig" }, "target_link_uri": "https://www.new-url.com/test", "title": "LTI 1.3 Tool", "public_jwk_url": "https://test.com" } } } }, { "type": "response", "operation": "PUT /api/lti/developer_keys/{developer_key_id}/tool_configuration", "summary": "update", "status_code": "200", "content_type": "application/json", "example": { "tool_configuration": { "developer_key_id": 142164, "disabled_placements": null, "privacy_level": "public", "settings": { "custom_fields": { "has_expansion": "$Canvas.user.id", "no_expansion": "foo" }, "description": "1.3 Tool", "extensions": [ { "platform": "canvas.instructure.com", "privacy_level": "public", "tool_id": "LTI 1.3 Test Tool", "domain": "http://lti13testtool.docker", "settings": { "icon_url": "https://static.thenounproject.com/png/131630-200.png", "selection_height": "500", "selection_width": "500", "text": "LTI 1.3 Test Tool Extension text", "placements": [ { "placement": "course_navigation", "message_type": "LtiResourceLinkRequest", "canvas_icon_class": "icon-pdf", "icon_url": "https://static.thenounproject.com/png/131630-211.png", "text": "LTI 1.3 Test Tool Course Navigation", "target_link_uri": "http://lti13testtool.docker/launch?placement=course_navigation", "enabled": "true" }, { "placement": "account_navigation", "message_type": "LtiResourceLinkRequest", "canvas_icon_class": "icon-lti", "icon_url": "https://static.thenounproject.com/png/131630-211.png", "target_link_uri": "http://lti13testtool.docker/launch?placement=account_navigation", "text": "LTI 1.3 Test Tool Course Navigation", "enabled": "true" } ] } } ], "oidc_initiation_url": "http://lti13testtool.docker/blti_launch", "public_jwk": { "alg": "RS256", "e": "AQAB", "kid": "2018-09-18T21:55:18Z", "kty": "RSA", "n": "2YGluUtCi62Ww_TWB38OE6wTaN...", "use": "sig" }, "target_link_uri": "https://www.new-url.com/test", "title": "LTI 1.3 Tool", "public_jwk_url": "https://test.com" }, "id": 938640, "created_at": "2023-12-15T05:37:03Z", "updated_at": "2023-12-15T05:37:03Z" }, "developer_key": { "name": "Test Dev Key", "email": "test@test.com", "notes": "Some cool notes", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem" ], "workflow_state": "active", "icon_url": null, "require_scopes": true, "user_name": null, "created_at": "2023-12-15T05:37:03Z", "user_id": null, "client_credentials_audience": null, "api_key": "IF3ObkUvFd8zLHu0Qee9bXVIAW2KP9G7RLVjSVXepCKJxAnTWg5gLwNEo6bipLqE", "redirect_uri": null, "redirect_uris": "http://www.test.com\nhttp://www.anothertest.com", "access_token_count": 0, "last_used_at": null, "vendor_code": null, "public_jwk": { "alg": "RS256", "e": "AQAB", "kid": "2018-09-18T21:55:18Z", "kty": "RSA", "n": "2YGluUtCi62Ww_TWB38OE6wTaN...", "use": "sig" }, "public_jwk_url": null, "allow_includes": false, "developer_key_account_binding": { "id": 1037175, "account_id": 8093, "developer_key_id": 142164, "workflow_state": "off", "account_owns_binding": true }, "account_name": "Default Account", "visible": true, "is_lti_key": true, "is_lti_registration": false, "id": 142164 } } }, { "type": "request", "operation": "DELETE /api/lti/developer_keys/{developer_key_id}/tool_configuration", "summary": "destroy", "content_type": "application/x-www-form-urlencoded", "example": { "account_id": "8095", "developer_key": { "email": "test@test.com", "name": "Test Dev Key", "notes": "Some cool notes", "public_jwk_url": "https://www.test.com", "redirect_uris": "http://www.test.com\r\nhttp://www.anothertest.com", "require_scopes": "true", "scopes": [ "https://purl.imsglobal.org/spec/lti-ags/scope/lineitem" ], "test_cluster_only": "true" } } } ] }