"Can't authenticate you" error when trying to run a DigitalOcean API command

February 2, 2018 656 views
API Ubuntu 16.04

I tried to run this command for rebuilding my droplet:

curl -X POST "https://api.digitalocean.com/v2/droplets/MY_DROPLET_ID/actions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer MY_API_TOKEN" \
-d '{"type":"rebuild","image":"ubuntu-16-04-x64"}' 

Note I used MYDROPLETID, taken from my cloud.digitalocean.com/droplets.
Note I used MYAPITOKEN (read and write), taken from cloud.digitalocean.com/settings/api/tokens.

I'd like to know what's bad with my command? I might missed something aside of droplet-ID and API-token.

1 Answer
benqzq February 2, 2018
Accepted Answer

Javier from the DO support team helped me with this. I'll now quote his response:

I appreciate you contacting us with this issue. Sorry to hear about this case. Currently, the "Can't authenticate you" error specifically is with the failure to accept the token being passed in.

The format is correct here, so the only thing I can think of is either the key is missing or something has caused the key to be expired.

Indeed, like Javier said, the problem was with the API token. I created a new token and then the operation succeeded.

Have another answer? Share your knowledge.