The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December.
Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
I've created a Turnitin LTI tool for my canvas site via a post to the external tools API
We have an account on the Sandbox Turnitin system that we want to point at from our beta and test Canvas environments.
I've seen from documentation that it's possible to specify different URLs for different environments for external tools via the Extended Tool configurations documented at
Importing Extended Tool Configurations - Canvas LMS REST API Documentation
and this is discussed in a recent post here:
Question about environments in LTI configuration
My question is - can I define a different URL for our test and beta environment via a call to the external tool API, or do I have to do it via XML as in the documents cited above?
Many thanks for any pointers on how to do this
Solved! Go to Solution.
I have found an answer to my own question:
In the External Tool API there are parameters that allow XML configuration information to be passed via the API call.
config_type allows you to specify that you are providing some XML configuration for the tool, and specifies where this XML will be provided, either "by_url" or "by_XML"
config_xml allows you to provide the XML tool configuration
Please note that this will override any tool settings you provide via the custom_fields array.
I have found an answer to my own question:
In the External Tool API there are parameters that allow XML configuration information to be passed via the API call.
config_type allows you to specify that you are providing some XML configuration for the tool, and specifies where this XML will be provided, either "by_url" or "by_XML"
config_xml allows you to provide the XML tool configuration
Please note that this will override any tool settings you provide via the custom_fields array.
@carols ,
Were you able to get the environments working as expected?
I have tried configuring by url to an xml configuration but it does not seem to work as expected regarding the environments. The rest of the configuration works. Also, when pulling the configuration from the API I do not receive the environments config so I think I am doing something wrong.
I have found it helpful to use PostMan to put LTI edits while we develop are own app for editing the LTI's but it seems like you need to pass everything each request or it wipes out the settings that you do not pass. So for example, if you do not want to wipe out the custom_fields array when editing via the API then you should pass those as well.
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in