Report this

What is the reason for this report?

Can't update record with APIv2

Posted on November 8, 2014

Hi there I’m using this script to update a record in “data” field, but it wont change anything .

PUBLIC_IP=`curl -s http://icanhazip.com`                                                                                                                                
echo "TOKEN $TOKEN"  
IP="$PUBLIC_IP"
echo "IP $IP"                                                                                                                                                           
curl -X PUT -H 'Content-Type: application/json' -H "Authorization: Bearer $TOKEN" -d '{"data":"$IP"}' "https://api.digitalocean.com/v2/domains/$DOMAIN/records/$RECORD" 
curl -X GET -H 'Content-Type: application/json' -H "Authorization: Bearer $TOKEN" "https://api.digitalocean.com/v2/domains/$DOMAIN/records/$RECORD"                     

It gives me this error

IP 181.66.127.36
{"id":"unprocessable_entity","message":"IP address did not match IPv4 format (e.g. 127.0.0.1)."}{"domain_record":{"id":3304482,"type":"A","name":"periquita","data":"23.95.118.100","priority":null,"port":null,"weight":null}}

And if I execute withour qoutes around $IP, like this:

curl -X PUT -H 'Content-Type: application/json' -H "Authorization: Bearer $TOKEN" -d '{"data":$IP}' "https://api.digitalocean.com/v2/domains/$DOMAIN/records/$RECORD" 

goes straigt but no changes.

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Start building today

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.