I like how it allows you to abbreviate JSON, but the API I use most frequently puts objects within objects, and the readability rapidly goes down to "curl" level for this case. As far as I know, this is still as concisely as you can write this with httpie. Most of the things that don't involve putting an object in an object in json seem to write out much more cleanly in httpie. In this case, you still mostly end up just writing the json:
http --json POST https://iad.servers.api.rackspacecloud.com/v2/123456/servers \
'X-Auth-Token':'authtoken' \
'Content-Type':'application/json' \
server:='{
"metadata": {
"metadatagoes": "here"
},
"imageRef": "b21af3ef-1a1e-46b5-98ef-bb0c81b25292",
"networks": [
{
"uuid": "00000000-0000-0000-0000-000000000000"
},
{
"uuid": "11111111-1111-1111-1111-111111111111"
}
],
"flavorRef": "general1-1",
"name": "servername",
"OS-DCF:diskConfig": "MANUAL"
}'