Showing results for 
Search instead for 
Did you mean: 

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.


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:


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
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:  


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!