Skip to content

Initiate a Droplet Action

client.GPUDroplets.Actions.Initiate(ctx, dropletID, body) (*GPUDropletActionInitiateResponse, error)
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
ParametersExpand Collapse
dropletID int64
minimum1
body GPUDropletActionInitiateParams

The type of action to initiate for the Droplet.

const GPUDropletActionInitiateParamsDropletActionTypeEnableBackups GPUDropletActionInitiateParamsDropletActionType = "enable_backups"
const GPUDropletActionInitiateParamsDropletActionTypeDisableBackups GPUDropletActionInitiateParamsDropletActionType = "disable_backups"
const GPUDropletActionInitiateParamsDropletActionTypeReboot GPUDropletActionInitiateParamsDropletActionType = "reboot"
const GPUDropletActionInitiateParamsDropletActionTypePowerCycle GPUDropletActionInitiateParamsDropletActionType = "power_cycle"
const GPUDropletActionInitiateParamsDropletActionTypeShutdown GPUDropletActionInitiateParamsDropletActionType = "shutdown"
const GPUDropletActionInitiateParamsDropletActionTypePowerOff GPUDropletActionInitiateParamsDropletActionType = "power_off"
const GPUDropletActionInitiateParamsDropletActionTypePowerOn GPUDropletActionInitiateParamsDropletActionType = "power_on"
const GPUDropletActionInitiateParamsDropletActionTypeRestore GPUDropletActionInitiateParamsDropletActionType = "restore"
const GPUDropletActionInitiateParamsDropletActionTypePasswordReset GPUDropletActionInitiateParamsDropletActionType = "password_reset"
const GPUDropletActionInitiateParamsDropletActionTypeResize GPUDropletActionInitiateParamsDropletActionType = "resize"
const GPUDropletActionInitiateParamsDropletActionTypeRebuild GPUDropletActionInitiateParamsDropletActionType = "rebuild"
const GPUDropletActionInitiateParamsDropletActionTypeRename GPUDropletActionInitiateParamsDropletActionType = "rename"
const GPUDropletActionInitiateParamsDropletActionTypeChangeKernel GPUDropletActionInitiateParamsDropletActionType = "change_kernel"
const GPUDropletActionInitiateParamsDropletActionTypeEnableIpv6 GPUDropletActionInitiateParamsDropletActionType = "enable_ipv6"
const GPUDropletActionInitiateParamsDropletActionTypeSnapshot GPUDropletActionInitiateParamsDropletActionType = "snapshot"
ReturnsExpand Collapse
type GPUDropletActionInitiateResponse struct{…}
Action Actionoptional
ID int64optional

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

CompletedAt Timeoptional

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

formatdate-time
Region Regionoptional
Available bool

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

Features []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 []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.

RegionSlug stringoptional

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

ResourceID int64optional

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

ResourceType stringoptional

The type of resource that the action is associated with.

StartedAt Timeoptional

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

formatdate-time
Status ActionStatusoptional

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

Accepts one of the following:
const ActionStatusInProgress ActionStatus = "in-progress"
const ActionStatusCompleted ActionStatus = "completed"
const ActionStatusErrored ActionStatus = "errored"
Type stringoptional

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
package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/-go"
  "github.com/stainless-sdks/-go/option"
)

func main() {
  client := gradient.NewClient(
    option.WithAccessToken("My Access Token"),
  )
  response, err := client.GPUDroplets.Actions.Initiate(
    context.TODO(),
    int64(3164444),
    gradient.GPUDropletActionInitiateParams{

    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Action)
}
{
  "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"
  }
}