Skip to content
  • Auto
  • Light
  • Dark

Initiate

Initiate a Droplet Action
post/v2/droplets/{droplet_id}/actions

To initiate an action on a Droplet send a POST request to /v2/droplets/$DROPLET_ID/actions. In the JSON body to the request, set the type attribute to on of the supported action types:

Action Details Additionally Required Permission
enable_backups Enables backups for a Droplet
disable_backups Disables backups for a Droplet
change_backup_policy Update the backup policy for a Droplet
reboot Reboots a Droplet. A reboot action is an attempt to reboot the Droplet in a graceful way, similar to using the reboot command from the console.
power_cycle Power cycles a Droplet. A powercycle action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch.
shutdown Shutsdown a Droplet. A shutdown action is an attempt to shutdown the Droplet in a graceful way, similar to using the shutdown command from the console. Since a shutdown command can fail, this action guarantees that the command is issued, not that it succeeds. The preferred way to turn off a Droplet is to attempt a shutdown, with a reasonable timeout, followed by a power_off action to ensure the Droplet is off.
power_off Powers off a Droplet. A power_off event is a hard shutdown and should only be used if the shutdown action is not successful. It is similar to cutting the power on a server and could lead to complications.
power_on Powers on a Droplet.
restore Restore a Droplet using a backup image. The image ID that is passed in must be a backup of the current Droplet instance. The operation will leave any embedded SSH keys intact. droplet:admin
password_reset Resets the root password for a Droplet. A new password will be provided via email. It must be changed after first use. droplet:admin
resize Resizes a Droplet. Set the size attribute to a size slug. If a permanent resize with disk changes included is desired, set the disk attribute to true. droplet:create
rebuild Rebuilds a Droplet from a new base image. Set the image attribute to an image ID or slug. droplet:admin
rename Renames a Droplet.
change_kernel Changes a Droplet's kernel. Only applies to Droplets with externally managed kernels. All Droplets created after March 2017 use internal kernels by default.
enable_ipv6 Enables IPv6 for a Droplet. Once enabled for a Droplet, IPv6 can not be disabled. When enabling IPv6 on an existing Droplet, additional OS-level configuration is required.
snapshot Takes a snapshot of a Droplet. image:create
Path ParametersExpand Collapse
droplet_id: number
minimum1
Body ParametersExpand Collapse
body: optional object { type } or object { type, backup_policy } or object { type, backup_policy } or 6 more

Specifies the action that will be taken on the Droplet.

Accepts one of the following:
DropletAction = object { type }

Specifies the action that will be taken on the Droplet.

type: "enable_backups" or "disable_backups" or "reboot" or 12 more

The type of action to initiate for the Droplet.

Accepts one of the following:
"enable_backups"
"disable_backups"
"reboot"
"power_cycle"
"shutdown"
"power_off"
"power_on"
"restore"
"password_reset"
"resize"
"rebuild"
"rename"
"change_kernel"
"enable_ipv6"
"snapshot"
DropletActionEnableBackups = object { type, backup_policy }
type: "enable_backups" or "disable_backups" or "reboot" or 12 more

The type of action to initiate for the Droplet.

Accepts one of the following:
"enable_backups"
"disable_backups"
"reboot"
"power_cycle"
"shutdown"
"power_off"
"power_on"
"restore"
"password_reset"
"resize"
"rebuild"
"rename"
"change_kernel"
"enable_ipv6"
"snapshot"
backup_policy: optional DropletBackupPolicy { hour, plan, retention_period_days, 2 more }

An object specifying the backup policy for the Droplet. If omitted, the backup plan will default to daily.

hour: optional 0 or 4 or 8 or 3 more

The hour of the day that the backup window will start.

Accepts one of the following:
0
4
8
12
16
20
plan: optional "daily" or "weekly"

The backup plan used for the Droplet. The plan can be either daily or weekly.

Accepts one of the following:
"daily"
"weekly"
retention_period_days: optional number

The number of days the backup will be retained.

weekday: optional "SUN" or "MON" or "TUE" or 4 more

The day of the week on which the backup will occur.

Accepts one of the following:
"SUN"
"MON"
"TUE"
"WED"
"THU"
"FRI"
"SAT"
window_length_hours: optional number

The length of the backup window starting from hour.

DropletActionChangeBackupPolicy = object { type, backup_policy }
type: "enable_backups" or "disable_backups" or "reboot" or 12 more

The type of action to initiate for the Droplet.

Accepts one of the following:
"enable_backups"
"disable_backups"
"reboot"
"power_cycle"
"shutdown"
"power_off"
"power_on"
"restore"
"password_reset"
"resize"
"rebuild"
"rename"
"change_kernel"
"enable_ipv6"
"snapshot"
backup_policy: optional DropletBackupPolicy { hour, plan, retention_period_days, 2 more }

An object specifying the backup policy for the Droplet.

hour: optional 0 or 4 or 8 or 3 more

The hour of the day that the backup window will start.

Accepts one of the following:
0
4
8
12
16
20
plan: optional "daily" or "weekly"

The backup plan used for the Droplet. The plan can be either daily or weekly.

Accepts one of the following:
"daily"
"weekly"
retention_period_days: optional number

The number of days the backup will be retained.

weekday: optional "SUN" or "MON" or "TUE" or 4 more

The day of the week on which the backup will occur.

Accepts one of the following:
"SUN"
"MON"
"TUE"
"WED"
"THU"
"FRI"
"SAT"
window_length_hours: optional number

The length of the backup window starting from hour.

DropletActionRestore = object { type, image }
type: "enable_backups" or "disable_backups" or "reboot" or 12 more

The type of action to initiate for the Droplet.

Accepts one of the following:
"enable_backups"
"disable_backups"
"reboot"
"power_cycle"
"shutdown"
"power_off"
"power_on"
"restore"
"password_reset"
"resize"
"rebuild"
"rename"
"change_kernel"
"enable_ipv6"
"snapshot"
image: optional number

The ID of a backup of the current Droplet instance to restore from.

DropletActionResize = object { type, disk, size }
type: "enable_backups" or "disable_backups" or "reboot" or 12 more

The type of action to initiate for the Droplet.

Accepts one of the following:
"enable_backups"
"disable_backups"
"reboot"
"power_cycle"
"shutdown"
"power_off"
"power_on"
"restore"
"password_reset"
"resize"
"rebuild"
"rename"
"change_kernel"
"enable_ipv6"
"snapshot"
disk: optional boolean

When true, the Droplet's disk will be resized in addition to its RAM and CPU. This is a permanent change and cannot be reversed as a Droplet's disk size cannot be decreased.

size: optional string

The slug identifier for the size to which you wish to resize the Droplet.

DropletActionRebuild = object { type, image }
type: "enable_backups" or "disable_backups" or "reboot" or 12 more

The type of action to initiate for the Droplet.

Accepts one of the following:
"enable_backups"
"disable_backups"
"reboot"
"power_cycle"
"shutdown"
"power_off"
"power_on"
"restore"
"password_reset"
"resize"
"rebuild"
"rename"
"change_kernel"
"enable_ipv6"
"snapshot"
image: optional string or number

The image ID of a public or private image or the slug identifier for a public image. The Droplet will be rebuilt using this image as its base.

Accepts one of the following:
UnionMember0 = string
UnionMember1 = number
DropletActionRename = object { type, name }
type: "enable_backups" or "disable_backups" or "reboot" or 12 more

The type of action to initiate for the Droplet.

Accepts one of the following:
"enable_backups"
"disable_backups"
"reboot"
"power_cycle"
"shutdown"
"power_off"
"power_on"
"restore"
"password_reset"
"resize"
"rebuild"
"rename"
"change_kernel"
"enable_ipv6"
"snapshot"
name: optional string

The new name for the Droplet.

DropletActionChangeKernel = object { type, kernel }
type: "enable_backups" or "disable_backups" or "reboot" or 12 more

The type of action to initiate for the Droplet.

Accepts one of the following:
"enable_backups"
"disable_backups"
"reboot"
"power_cycle"
"shutdown"
"power_off"
"power_on"
"restore"
"password_reset"
"resize"
"rebuild"
"rename"
"change_kernel"
"enable_ipv6"
"snapshot"
kernel: optional number

A unique number used to identify and reference a specific kernel.

DropletActionSnapshot = object { type, name }
type: "enable_backups" or "disable_backups" or "reboot" or 12 more

The type of action to initiate for the Droplet.

Accepts one of the following:
"enable_backups"
"disable_backups"
"reboot"
"power_cycle"
"shutdown"
"power_off"
"power_on"
"restore"
"password_reset"
"resize"
"rebuild"
"rename"
"change_kernel"
"enable_ipv6"
"snapshot"
name: optional string

The name to give the new snapshot of the Droplet.

ReturnsExpand Collapse
action: optional Action { id, completed_at, region, 6 more }
id: optional number

A unique numeric ID that can be used to identify and reference an action.

completed_at: optional string

A time value given in ISO8601 combined date and time format that represents when the action was completed.

formatdate-time
region: optional Region { available, features, name, 2 more }
available: boolean

This is a boolean value that represents whether new Droplets can be created in this region.

features: array of string

This attribute is set to an array which contains features available in this region

name: string

The display name of the region. This will be a full name that is used in the control panel and other interfaces.

sizes: array of string

This attribute is set to an array which contains the identifying slugs for the sizes available in this region. sizes:read is required to view.

slug: string

A human-readable string that is used as a unique identifier for each region.

region_slug: optional string

A human-readable string that is used as a unique identifier for each region.

resource_id: optional number

A unique identifier for the resource that the action is associated with.

resource_type: optional string

The type of resource that the action is associated with.

started_at: optional string

A time value given in ISO8601 combined date and time format that represents when the action was initiated.

formatdate-time
status: optional "in-progress" or "completed" or "errored"

The current status of the action. This can be "in-progress", "completed", or "errored".

Accepts one of the following:
"in-progress"
"completed"
"errored"
type: optional string

This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action.

Initiate a Droplet Action
curl https://api.digitalocean.com/v2/droplets/$DROPLET_ID/actions \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $DIGITALOCEAN_ACCESS_TOKEN"
{
  "action": {
    "id": 36804636,
    "completed_at": "2020-11-14T16:30:06Z",
    "region": {
      "available": true,
      "features": [
        "private_networking",
        "backups",
        "ipv6",
        "metadata",
        "install_agent",
        "storage",
        "image_transfer"
      ],
      "name": "New York 3",
      "sizes": [
        "s-1vcpu-1gb",
        "s-1vcpu-2gb",
        "s-1vcpu-3gb",
        "s-2vcpu-2gb",
        "s-3vcpu-1gb",
        "s-2vcpu-4gb",
        "s-4vcpu-8gb",
        "s-6vcpu-16gb",
        "s-8vcpu-32gb",
        "s-12vcpu-48gb",
        "s-16vcpu-64gb",
        "s-20vcpu-96gb",
        "s-24vcpu-128gb",
        "s-32vcpu-192g"
      ],
      "slug": "nyc3"
    },
    "region_slug": "nyc3",
    "resource_id": 3164444,
    "resource_type": "droplet",
    "started_at": "2020-11-14T16:29:21Z",
    "status": "completed",
    "type": "create"
  }
}
Returns Examples
{
  "action": {
    "id": 36804636,
    "completed_at": "2020-11-14T16:30:06Z",
    "region": {
      "available": true,
      "features": [
        "private_networking",
        "backups",
        "ipv6",
        "metadata",
        "install_agent",
        "storage",
        "image_transfer"
      ],
      "name": "New York 3",
      "sizes": [
        "s-1vcpu-1gb",
        "s-1vcpu-2gb",
        "s-1vcpu-3gb",
        "s-2vcpu-2gb",
        "s-3vcpu-1gb",
        "s-2vcpu-4gb",
        "s-4vcpu-8gb",
        "s-6vcpu-16gb",
        "s-8vcpu-32gb",
        "s-12vcpu-48gb",
        "s-16vcpu-64gb",
        "s-20vcpu-96gb",
        "s-24vcpu-128gb",
        "s-32vcpu-192g"
      ],
      "slug": "nyc3"
    },
    "region_slug": "nyc3",
    "resource_id": 3164444,
    "resource_type": "droplet",
    "started_at": "2020-11-14T16:29:21Z",
    "status": "completed",
    "type": "create"
  }
}