cancel
Showing results for 
Search instead for 
Did you mean: 
aaron_bahmer
Adventurer

Postman PUT request to API has no effect

I'm just starting out with Postman and using the API, so forgive my (hopefully) simple problem.

Purpose:

I'm trying to edit an LTI (external tool) according to this doc: Navigation Tools - Canvas LMS REST API Documentation 

I'm also referencing: External Tools - Canvas LMS REST API Documentation 

In Postman, I've built the following PUT request: {{testurl}}/api/v1/accounts/1/external_tools/{{targetLTI}} with body:

KeyValue
defaultenabled

The variables {{testurl}} and {{targetLTI}} are being resolved properly. When I send the request, the results come back for this external tool (just the same as if I had done GET with this targetLTI), but the value of the "default" key remains unchanged.

I compared the curl output of the Postman request with the example in the External Tools API Documentation above. The last line in my Postman request appears as:

-F default=enabled

Compared to the example from the documentation:

-F 'privacy_level=public'

I'm interested to know if the fact that my Postman request doesn't contain single-quotes like the example is the reason the request does not work.

If so, I can't find anything in Postman docs that helps me put the single-quotes in place. Help?

Tags (3)
1 Reply
ColinMurtaugh
Adventurer III

Hi Aaron --

The parameters for the external_tools endpoint are a little tricky -- this doc might be a little more helpful:

External Tools - Canvas LMS REST API Documentation 

In this case, I think the parameter that you're looking to change is course_navigation[default] (literally that whole string, including the brackets).  Here's a bit of what my Postman screen looks like for a request like this:  

276867_pastedImage_2.png

If you were using the curl command to do this, the parameter would look like:

-F 'course_navigation[default]=enabled'

Hope this is helpful -- let me know if you still have any questions!

--Colin