Configurable TTL for Domain Records
Our API has been extended to support configuring the TTL value for individual domain records. This can be done when creating a new record as well as when updating an existing one via a PUT request. See the domain record documentation for further information.
Deprecating Tag Renaming
Our API currently offers the ability to “rename” a tag by sending a PUT request to /v2/tags/$TAG_NAME. Due to low usage and operational complexities involved with its maintenance, we are deprecating this functionality. Beginning April 26th, 2017 all requests to this endpoint will respond with an HTTP status of 410 (Gone).
A tag’s name also serves as its unique identifier. We’ve found that the ability to change a tag’s name introduces unneeded complexity. If you need guidance on this transition, please feel free to reach out to the team by opening a support ticket.
Tagging in Droplet create
You may now pass tags as an attribute when creating one or more new Droplets. This optional parameter will create and apply the specified tag(s) to the newly created Droplet(s). For more information see create Droplet documentation.
Add Volume Snapshots
API v2 now supports volume snapshots, and exposes a unified snapshot endpoint for volume and Droplet snapshots.
Add size_gigabytes to Images
Size objects now contain a size_gigabytes attribute which represents the physical size of the image in gigabytes. For more information see the images documentation.
Add Tagging
API v2 now supports tagging and managing tagged droplets.
Add multiple Droplet create
API v2 now supports creating multiple droplets simultaneously.
Add floating_ip_limit to Account Object
Account objects now contain a floating_ip_limit attribute which provides the maximum number of floating IPs that may be provisioned by the account. For more information, see the account documentation.
API v1 end-of-life
API v1 has reached end-of-life. All subsequent requests to API v1 will respond with HTTP 410 (Gone) and an error message:
# HTTP/1.1 410 (Gone)
{
"status": "ERROR",
"error_message": "API v1 has reached end-of-life. Please use API v2.",
"message": "API v1 has reached end-of-life. Please use API v2."
}
Version 2 of our API provides a more RESTful interface, OAuth support, and allows access to new DigitalOcean features like Team Account Management and Floating IPs. To learn more, please visit the API documentation.
Enabling Backups on a Droplet
API V2 now supports enabling backups on a Droplet.
Add status and status_message to account object
Account objects now contain status and status_message attributes, describing whether an account is locked, active or has a pending warning. For more information, see the account documentation.
Deprecating Temporary (Final) Snapshots
We’ve deprecated final (temporary) snapshots and therefore temporary is no longer an acceptable value for type for a snapshot.
OAuth User Info with UUID
The access token response from the OAuth API now returns a canonical UUID for an account. This should be used to canonically identify a user.
Sunsetting API v1
Since releasing version 2 of our API nearly a year ago and officially bringing it out of beta last month, we’ve seen a tremendous uptake of usage by our community. As the ecosystem of tools and libraries continues to grow, we’ve decided that it is time to sunset version 1 of the API.
Don’t worry! We’re not going to pull the rug out from under you. In order to give everyone time to port their tools, version 1 will not be turned off until Monday, November 9, 2015.
With its (more) RESTful interface and features like OAuth support, v2 is both powerful and easy to use. Our developer documentation should give you all the information you need to begin the transition. If you have questions, you can always ask on our Community site or on Twitter.
API v2 is now out of beta
We are very pleased to announce that API v2 is no longer in beta. Thank you to everyone who helped report bugs and suggest features during the beta period. Read more about this release on our blog.
Add image convert to snapshot action
The Image action endpoint now responds to a convert attribute, that allows backups and temporary snapshots to be saved permanently as snapshots. For more information, see the image actions documentation.
Add type attribute to image object
Images objects now return a type attribute, describing whether they are snapshots, backups or temporary images. For more information, see the images documentation.
Sizes available
Size objects now expose an available boolean attribute, which represents whether new Droplets can be created with the size.
Breaking changes in Action objects (March 20, 2015)
All action objects, i.e. those returned by the /v2/actions, /v2/droplets/$ID/actions and /v2/images/$ID/actions endpoint now return a region_slug attribute, in addition to a region attribute. At 00:01 March 20, 2015 UTC, API v2 will start returning an embedded region object at the region attribute, not a slug.
For example, the API request:
curl -X GET -H 'Content-Type: application/json' \
-H 'Authorization: Bearer b7d03a6947b217efb6f3ec3bd3504582' \
"https://api.digitalocean.com/v2/actions?page=1&per_page=1"
would return:
{
"actions": [
{
"id": 36804636,
"status": "completed",
"type": "create",
"started_at": "2014-11-14T16:29:21Z",
"completed_at": "2014-11-14T16:30:06Z",
"resource_id": 3164444,
"resource_type": "droplet",
"region": {
"name": "New York 3",
"slug": "nyc3",
"sizes": [
"32gb",
"16gb",
"2gb",
"1gb",
"4gb",
"8gb",
"512mb",
"64gb",
"48gb"
],
"features": [
"virtio",
"private_networking",
"backups",
"ipv6",
"metadata"
],
"available": true
},
"region_slug": "nyc3"
}
],
"links": {
"pages": {
"last": "https://api.digitalocean.com/v2/actions?page=159&per_page=1",
"next": "https://api.digitalocean.com/v2/actions?page=2&per_page=1"
}
},
"meta": {
"total": 159
}
}
Droplet Neighbors Report
Two new endpoints in API v2 report if droplets are running on the same physical hardware. They exist for an individual droplet or for an entire account.
Increase Rate Limit
The maximum allowed rate limit per O-Auth token has been increased to 5,000 requests/hour.
User Image filtering
The images now supports a private filter which will allow you
to retrieve all images that are specific to your account (IE: backups and snapshots).
For more information, you can view the documentation for this endpoint here.
New Droplet create validations
API V2 now validates SSH key IDs and identifiers passed into the Droplet create call. In addition, API V2 now validates that requested features are available for a Droplet (backups, private networking, IPv6 and user data).
Add Images Filtering
The API v2 now supports retrieving images by type, to retrieve an image by type, simply append:
GET /v2/images?type={distribution,application}
Change type to what you would like to retrieve and voilà!
DropletKit (The Ruby API Client) also supports this functionality as well in Version 1.1.0
You can view the documentation for this feature here.
Making Sizes Clearer
The JSON object for a droplet no longer contains a nested Size
object, but rather a slug called size_slug that references a Size object. Please see
the droplet
docs for the updated structure.
The Image JSON object now includes a min_disk_size attribute that contains
the slug of the minimum size droplet required for that image. For
example a snapshot of a 1 Gig droplet will have “1gb” as it’s
min_disk_size.
Remove embedded action_ids from Droplet and Image
Remove embedded action_ids from Droplet and Image.
Prices are now numbers!
Both price_monthly and price_hourly were previously strings. This made them harder to work with so we have gone ahead and turned them into floats.
Per Page Tweaks
We have tweaked the per_page limits to default to 20 and be a maximum of 200. We have found in our testing, so far, for this to be a good balance of requests versus results. Head on over and read up on pagination.
Discovering the available features in a region
Want to know which regions support IPv6 or Private Networking? It is now possible to check which features are enabled in each region.
Disabling Backups on a Droplet
API V2 now supports disabling backups on a Droplet.
Add Droplet expand action
API V2 now supports expanding a droplet’s disk size, along with other resources.
Removed X- from RateLimit Header
It seems adding X- to custom HTTP headers is going out of style.
So we gone ahead and changed our RateLimit headers to no longer include the X.
They now look like this:
RateLimit-Limit:
RateLimit-Remaining:
RateLimit-Reset: