Alexa account linking not working for users who are not developers on my account

215 Views Asked by At

I've got a weird issue that I've been banging my head on all day. I built an app that is authenticating through Amazon web login api with these permissions:

alexa::ask:skills:readwrite alexa::skills:account_linking

For developers on my Alexa account, we're able to login and PUT to the the /v1/skills/${ALEXA_SKILL_ID}/stages/live/enablement endpoint and get back a valid response.

However, Alexa approved our app today and it turns out that everyone who isn't a developer on our account goes through the OAUTH flow fine, but once they PUT to the /v1/skills/${ALEXA_SKILL_ID}/stages/live/enablement endpoint, they are getting an error:

{"message":"You do not have access to the resource."}

I've verified that our client ID and secret are correct, that we've updated the stage to live etc... but nothing seems to work. Anything I might be missing?

1

There are 1 best solutions below

0
On

Please make sure that the endpoint you are using for the PUT request is correct. The endpoint of the Skill Enablement API depends on whether you invoke the API on behalf of a developer that owns the skill or on behalf of an Amazon customer:

  • For a developer skill owner, the endpoint is https://api.amazonalexa.com

  • For an Amazon customer, the endpoint is based on where the customer's Amazon account is registered. To find the endpoint for a customer, use Get API endpoint. Valid endpoints are:

    • North America: https://api.amazonalexa.com
    • Europe: https://api.eu.amazonalexa.com
    • Far East: https://api.fe.amazon.com

For further details on Skill Enablement API, you can check the documentation here: https://developer.amazon.com/en-US/docs/alexa/smapi/skill-enablement.html#api-endpoint