401 on PUT but POST and GET work fine

I’m attempting to remotely update one of my user’s properties (it’s a true false)

I can GET all users’ data
I can send a POST request
I get a 401 when I use PUT to try to update the property.

Any ideas how I can solve this?

Hi @Mitch-Pragmaflow,

Did you try to do this with curl?
What are the results?
If you could share the console screenshot this may help (be sure to hide the Authentication Bearer :slight_smile: )

Best regards, Victor.

Hey @Victor, It’s from Integromat.

here’s the GET that works:

Here’s the POST that is accepted but doesn’t change anything:

The PUT that gets a 401 response is identical to the POST, with that one change.

Hi @Mitch-Pragmaflow ,

GET doesn’t require ID (and your setup seems to be correct).
POST doesn’t require ID as well; this is new record creation. After each POST you will see an additional record in the collection.
PUT requires ID. And 401 error means “Unauthorized”.

I would recommend trying to reproduce this using command line & curl.
Also, you can run the scenario once and see the detailed info - INPUT and OUTPUT, on these small circles on the top right. This might bring some more details; unfortunately the screenshots you’ve shown do not provide info about the error you see.

Best regards, Victor.

This is the error I get:

And the blue rectangle at the end of the url represents the record id variable. I’ve been inputting various numbers from 3-10, which all exist in my db

Hi @Mitch-Pragmaflow,

Well, the only thing I can suggest is to test the same request using curl command line utility. And if this doesn’t work as well (i.e. curl -x GET works, but curl -x PUT returns error, and Authentication Bearer is set correctly) - may be there is some problem on the backend with this exact collection, so submitting support ticket here Submit a Support Ticket may be a good idea.

Best regards, Victor.

I think this is something that we have seen before.
It is looking for the elementID.

I don’t really know how to link you back to that discussion but I think it applies to what you are seeing.

In the end I solved this, the request that was working get and push required adding “?=” to the end of the URL, which I assumed integromat would already have done.

1 Like