Cannot access the requested warehouse. Permission denied

Our flow that we created a while ago suddenly started throwing errors about permission denied recently and we can’t figure out why.

The request ID is 6144f95a792710bb1705e4b8 I believe.

The exact error message is:

{"headers":{"date":"Fri, 17 Sep 2021 20:23:54 GMT","content-type":"application/json","content-length":"238","connection":"close","server":"nginx","access-control-allow-origin":"*","access-control-allow-methods":": POST, GET, PUT, DELETE, OPTIONS","access-control-allow-headers":": Authorization, Content-Type, Accept, X-SHF-LEADS, X-PUSHER-APPID, Shop-ID","access-control-allow-credentials":": true","x-frame-options":"sameorigin","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","strict-transport-security":"max-age=5184000; includeSubDomains","cache-control":"no-cache","expires":"0","pragma":"no-cache"},"body":"{\"errors\":[{\"message\":\"Cannot access the requested warehouse. Permission denied\",\"operation\":\"purchase_order_create\",\"field\":\"purchase_order_create\",\"request_id\":\"6144f95a792710bb1705e4b8\",\"code\":9}],\"data\":{\"purchase_order_create\":null}}"}

Hi @aadam,
I ran the warehouse_id from the request-id and that warehouse id does not exist in either your 3PL or client account associated with the account the mutation was sent from. Can you double-check the id?

We have a couple different accounts.

The one that it should be using has that warehouse id.

I tried to confirm we were using the correct access token, but is there a way to be 100% certain?

Hello @aadam and @Theresa we are currently under a Go-Live phase, and this is happening with the production environment, I already double checked the token being used is the one generated for that environment, any other suggestions on what can be the root cause and fix?

Regards,

Hi, @melvinj.hidalgo The same issue that happened with @aadam. The warehouse id sent in the mutation is not associated with the account that the mutation is sent from. I will PM the specifics.

@aadam You can run the account query:

query{
  account(analyze:false){
    request_id
    complexity
    data{
      warehouses{
        id
        legacy_id
        identifier
      }
      id
      legacy_id
    }
  }
}

Hi @Theresa, if you look at the following request ID, you should see the corresponding warehouse ID. We have a couple different accounts.

request_id = 614cb2fb1b82af2613f284b7

request id 6144f95a792710bb1705e4b8
and request id 614cb2fb1b82af2613f284b7 are two different ShipHero accounts.

The account query for 614cb2fb1b82af2613f284b7 returns the Primary warehouse (default) and the Primary warehouse profile (test). Do you have a specific question that I can answer on that? There is only one warehouse, Primary, and test is a profile for the warehouse Primary.

1 Like

Got it. The access token in our integration platform was for the other warehouse. Thanks for helping me get to the bottom of that!

1 Like