765 lines
29 KiB
YAML
765 lines
29 KiB
YAML
---
|
|
openapi: 3.0.3
|
|
info:
|
|
title: app
|
|
version: 1.0.0
|
|
servers: []
|
|
paths:
|
|
"/api/lti/developer_keys/{developer_key_id}/tool_configuration":
|
|
put:
|
|
summary: update
|
|
tags:
|
|
- Lti::ToolConfigurationsApi
|
|
parameters:
|
|
- name: developer_key_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
example: 142164
|
|
requestBody:
|
|
content:
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
account_id:
|
|
type: string
|
|
developer_key:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
name:
|
|
type: string
|
|
notes:
|
|
type: string
|
|
public_jwk_url:
|
|
type: string
|
|
redirect_uris:
|
|
type: string
|
|
require_scopes:
|
|
type: string
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
test_cluster_only:
|
|
type: string
|
|
required:
|
|
- email
|
|
- name
|
|
- notes
|
|
- public_jwk_url
|
|
- redirect_uris
|
|
- require_scopes
|
|
- scopes
|
|
- test_cluster_only
|
|
tool_configuration:
|
|
type: object
|
|
properties:
|
|
privacy_level:
|
|
type: string
|
|
settings:
|
|
type: object
|
|
properties:
|
|
custom_fields:
|
|
type: object
|
|
properties:
|
|
has_expansion:
|
|
type: string
|
|
no_expansion:
|
|
type: string
|
|
required:
|
|
- has_expansion
|
|
- no_expansion
|
|
description:
|
|
type: string
|
|
extensions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
platform:
|
|
type: string
|
|
privacy_level:
|
|
type: string
|
|
tool_id:
|
|
type: string
|
|
domain:
|
|
type: string
|
|
settings:
|
|
type: object
|
|
properties:
|
|
icon_url:
|
|
type: string
|
|
selection_height:
|
|
type: string
|
|
selection_width:
|
|
type: string
|
|
text:
|
|
type: string
|
|
placements:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
placement:
|
|
type: string
|
|
message_type:
|
|
type: string
|
|
canvas_icon_class:
|
|
type: string
|
|
icon_url:
|
|
type: string
|
|
text:
|
|
type: string
|
|
target_link_uri:
|
|
type: string
|
|
enabled:
|
|
type: string
|
|
required:
|
|
- placement
|
|
- message_type
|
|
- canvas_icon_class
|
|
- icon_url
|
|
- text
|
|
- target_link_uri
|
|
- enabled
|
|
required:
|
|
- icon_url
|
|
- selection_height
|
|
- selection_width
|
|
- text
|
|
- placements
|
|
required:
|
|
- platform
|
|
- privacy_level
|
|
- tool_id
|
|
- domain
|
|
- settings
|
|
oidc_initiation_url:
|
|
type: string
|
|
public_jwk:
|
|
type: object
|
|
properties:
|
|
alg:
|
|
type: string
|
|
e:
|
|
type: string
|
|
kid:
|
|
type: string
|
|
kty:
|
|
type: string
|
|
"n":
|
|
type: string
|
|
use:
|
|
type: string
|
|
required:
|
|
- alg
|
|
- e
|
|
- kid
|
|
- kty
|
|
- "n"
|
|
- use
|
|
target_link_uri:
|
|
type: string
|
|
title:
|
|
type: string
|
|
public_jwk_url:
|
|
type: string
|
|
required:
|
|
- custom_fields
|
|
- description
|
|
- extensions
|
|
- oidc_initiation_url
|
|
- public_jwk
|
|
- target_link_uri
|
|
- title
|
|
required:
|
|
- privacy_level
|
|
- settings
|
|
required:
|
|
- account_id
|
|
- developer_key
|
|
- tool_configuration
|
|
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
|
|
responses:
|
|
'200':
|
|
description: is expected to be ok
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
tool_configuration:
|
|
type: object
|
|
properties:
|
|
developer_key_id:
|
|
type: integer
|
|
disabled_placements:
|
|
nullable: true
|
|
privacy_level:
|
|
type: string
|
|
settings:
|
|
type: object
|
|
properties:
|
|
custom_fields:
|
|
type: object
|
|
properties:
|
|
has_expansion:
|
|
type: string
|
|
no_expansion:
|
|
type: string
|
|
required:
|
|
- has_expansion
|
|
- no_expansion
|
|
description:
|
|
type: string
|
|
extensions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
platform:
|
|
type: string
|
|
privacy_level:
|
|
type: string
|
|
tool_id:
|
|
type: string
|
|
domain:
|
|
type: string
|
|
settings:
|
|
type: object
|
|
properties:
|
|
icon_url:
|
|
type: string
|
|
selection_height:
|
|
type: string
|
|
selection_width:
|
|
type: string
|
|
text:
|
|
type: string
|
|
placements:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
placement:
|
|
type: string
|
|
message_type:
|
|
type: string
|
|
canvas_icon_class:
|
|
type: string
|
|
icon_url:
|
|
type: string
|
|
text:
|
|
type: string
|
|
target_link_uri:
|
|
type: string
|
|
enabled:
|
|
type: string
|
|
required:
|
|
- placement
|
|
- message_type
|
|
- canvas_icon_class
|
|
- icon_url
|
|
- text
|
|
- target_link_uri
|
|
- enabled
|
|
required:
|
|
- icon_url
|
|
- selection_height
|
|
- selection_width
|
|
- text
|
|
- placements
|
|
required:
|
|
- platform
|
|
- privacy_level
|
|
- tool_id
|
|
- domain
|
|
- settings
|
|
oidc_initiation_url:
|
|
type: string
|
|
public_jwk:
|
|
type: object
|
|
properties:
|
|
alg:
|
|
type: string
|
|
e:
|
|
type: string
|
|
kid:
|
|
type: string
|
|
kty:
|
|
type: string
|
|
"n":
|
|
type: string
|
|
use:
|
|
type: string
|
|
required:
|
|
- alg
|
|
- e
|
|
- kid
|
|
- kty
|
|
- "n"
|
|
- use
|
|
target_link_uri:
|
|
type: string
|
|
title:
|
|
type: string
|
|
public_jwk_url:
|
|
type: string
|
|
required:
|
|
- custom_fields
|
|
- description
|
|
- extensions
|
|
- oidc_initiation_url
|
|
- public_jwk
|
|
- target_link_uri
|
|
- title
|
|
id:
|
|
type: integer
|
|
created_at:
|
|
type: string
|
|
updated_at:
|
|
type: string
|
|
required:
|
|
- developer_key_id
|
|
- disabled_placements
|
|
- privacy_level
|
|
- settings
|
|
- id
|
|
- created_at
|
|
- updated_at
|
|
developer_key:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
email:
|
|
type: string
|
|
notes:
|
|
type: string
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
workflow_state:
|
|
type: string
|
|
icon_url:
|
|
nullable: true
|
|
require_scopes:
|
|
type: boolean
|
|
user_name:
|
|
nullable: true
|
|
created_at:
|
|
type: string
|
|
user_id:
|
|
nullable: true
|
|
client_credentials_audience:
|
|
nullable: true
|
|
api_key:
|
|
type: string
|
|
redirect_uri:
|
|
nullable: true
|
|
redirect_uris:
|
|
type: string
|
|
access_token_count:
|
|
type: integer
|
|
last_used_at:
|
|
nullable: true
|
|
vendor_code:
|
|
nullable: true
|
|
public_jwk:
|
|
type: object
|
|
properties:
|
|
alg:
|
|
type: string
|
|
e:
|
|
type: string
|
|
kid:
|
|
type: string
|
|
kty:
|
|
type: string
|
|
"n":
|
|
type: string
|
|
use:
|
|
type: string
|
|
required:
|
|
- alg
|
|
- e
|
|
- kid
|
|
- kty
|
|
- "n"
|
|
- use
|
|
public_jwk_url:
|
|
nullable: true
|
|
type: string
|
|
allow_includes:
|
|
type: boolean
|
|
developer_key_account_binding:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
account_id:
|
|
type: integer
|
|
developer_key_id:
|
|
type: integer
|
|
workflow_state:
|
|
type: string
|
|
account_owns_binding:
|
|
type: boolean
|
|
required:
|
|
- id
|
|
- account_id
|
|
- developer_key_id
|
|
- workflow_state
|
|
- account_owns_binding
|
|
account_name:
|
|
type: string
|
|
visible:
|
|
type: boolean
|
|
is_lti_key:
|
|
type: boolean
|
|
is_lti_registration:
|
|
type: boolean
|
|
id:
|
|
type: integer
|
|
required:
|
|
- name
|
|
- email
|
|
- notes
|
|
- scopes
|
|
- workflow_state
|
|
- icon_url
|
|
- require_scopes
|
|
- user_name
|
|
- created_at
|
|
- user_id
|
|
- client_credentials_audience
|
|
- api_key
|
|
- redirect_uri
|
|
- redirect_uris
|
|
- access_token_count
|
|
- last_used_at
|
|
- vendor_code
|
|
- public_jwk
|
|
- public_jwk_url
|
|
- allow_includes
|
|
- developer_key_account_binding
|
|
- account_name
|
|
- visible
|
|
- is_lti_key
|
|
- is_lti_registration
|
|
- id
|
|
required:
|
|
- tool_configuration
|
|
- developer_key
|
|
example:
|
|
tool_configuration:
|
|
developer_key_id: 142164
|
|
disabled_placements:
|
|
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:
|
|
require_scopes: true
|
|
user_name:
|
|
created_at: '2023-12-15T05:37:03Z'
|
|
user_id:
|
|
client_credentials_audience:
|
|
api_key: IF3ObkUvFd8zLHu0Qee9bXVIAW2KP9G7RLVjSVXepCKJxAnTWg5gLwNEo6bipLqE
|
|
redirect_uri:
|
|
redirect_uris: |-
|
|
http://www.test.com
|
|
http://www.anothertest.com
|
|
access_token_count: 0
|
|
last_used_at:
|
|
vendor_code:
|
|
public_jwk:
|
|
alg: RS256
|
|
e: AQAB
|
|
kid: '2018-09-18T21:55:18Z'
|
|
kty: RSA
|
|
"n": 2YGluUtCi62Ww_TWB38OE6wTaN...
|
|
use: sig
|
|
public_jwk_url:
|
|
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
|
|
'422':
|
|
description: is expected to be present
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
errors:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
field:
|
|
type: string
|
|
message:
|
|
type: string
|
|
error_code:
|
|
nullable: true
|
|
required:
|
|
- field
|
|
- message
|
|
- error_code
|
|
required:
|
|
- errors
|
|
example:
|
|
errors:
|
|
- field: configuration
|
|
message: 'The following fields are required: kty, e, n, kid, alg,
|
|
use'
|
|
error_code:
|
|
'401':
|
|
description: is expected to be unauthorized
|
|
content:
|
|
text/html:
|
|
schema:
|
|
type: string
|
|
example: ''
|
|
'404':
|
|
description: is expected to be not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
errors:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
required:
|
|
- message
|
|
required:
|
|
- errors
|
|
example:
|
|
errors:
|
|
- message: The specified resource does not exist.
|
|
delete:
|
|
summary: destroy
|
|
tags:
|
|
- Lti::ToolConfigurationsApi
|
|
parameters:
|
|
- name: developer_key_id
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
example: 142171
|
|
responses:
|
|
'404':
|
|
description: is expected to be not found
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
errors:
|
|
type: array
|
|
items:
|
|
type: object
|
|
properties:
|
|
message:
|
|
type: string
|
|
required:
|
|
- message
|
|
required:
|
|
- errors
|
|
example:
|
|
errors:
|
|
- message: The specified resource does not exist.
|
|
text/html:
|
|
schema:
|
|
type: string
|
|
example: ''
|
|
'204':
|
|
description: is expected to be no content
|
|
content:
|
|
'':
|
|
schema:
|
|
type: string
|
|
example: ''
|
|
'401':
|
|
description: is expected to be unauthorized
|
|
content:
|
|
text/html:
|
|
schema:
|
|
type: string
|
|
example: ''
|
|
requestBody:
|
|
content:
|
|
application/x-www-form-urlencoded:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
account_id:
|
|
type: string
|
|
developer_key:
|
|
type: object
|
|
properties:
|
|
email:
|
|
type: string
|
|
name:
|
|
type: string
|
|
notes:
|
|
type: string
|
|
public_jwk_url:
|
|
type: string
|
|
redirect_uris:
|
|
type: string
|
|
require_scopes:
|
|
type: string
|
|
scopes:
|
|
type: array
|
|
items:
|
|
type: string
|
|
test_cluster_only:
|
|
type: string
|
|
required:
|
|
- email
|
|
- name
|
|
- notes
|
|
- public_jwk_url
|
|
- redirect_uris
|
|
- require_scopes
|
|
- scopes
|
|
- test_cluster_only
|
|
required:
|
|
- account_id
|
|
- developer_key
|
|
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'
|