How to create an Image that works with API to create a new Droplet

Posted March 26, 2018 2.6k views
APIUbuntu 16.04

I created a Snapshot of a Droplet thinking that it would be the Image I can use in the API to create a new Droplet, but this does not seem to be the case.

So my question is, how do I create an Image I can use to create a Droplet from the API.

If I try to use the Snapshot it gives me this error:

{“id”:“unprocessable_entity”,“message”:“You specified an invalid image for Droplet creation.”}

The snapshot exists on the same region as where I am trying to create the new Droplet.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
3 answers

You should be able to create a new Droplet via the API using a Snapshot as the base image. A minimal example would look like:

curl -X POST -H "Content-Type: application/json" \
    -H "Authorization: Bearer $DO_TOKEN" \
    -d '{"name":"","region":"nyc3","size":"s-1vcpu-1gb","image":123456}' \ 

One thing that sometimes trips people up is that the Snapshot’s unique ID, not its name, must be used in for the image attribute. You can find that ID by querying the API or from the command line:

  • doctl compute image list-user

If you’re still running into problems, can you share a snippet of the code you are using to create the Droplet?

Thanks for the assistance. The strange thing is if I query the API for a Snapshot I get no results


But under my profile I definitely have a Snapshot, so I am a bit confused.

Where do I get the command line? It is not on a droplet console right?

I made a mistake in my request to this API. Thanks for the help.