I added the GoGrid API over the weekend. It was very simple. It only covers the compute portion. I could not get the storage function to work.
There were a few confusing things like the IP interface. If I start a server, why doesn't it just use the first unassigned IP? I am guessing that the API did not want to guess whether you wanted a public or private IP. I added that functionality with a public default.
There is a goofy thing with the API. Each server can be identified with a name or an Id. The name is not required to be unique but they do not issue an Id until the server is completely up.