---
title: "Perform action on an instance or multiple instances"
method: PUT
path: "/v1/instances"
tags: ["Instances"]
---

# Perform action on an instance or multiple instances

`PUT /v1/instances`

Perform an action on a single or multiple instances.

Note: to `hibernate` an instance, you must first `shutdown` it. All instance volumes would be detached and the instance will be deleted.

**Important**: To remove an instance and stop charging your account, you must `delete` it. Using `shutdown` will keep charging your account.

When deleting an instance, you can specify which of its' attached volumes will be deleted by providing `volume_ids` array. Any attached volumes that are not specified in the array would be detached.

Note: If not providing a `volume_ids` array, only the OS volume will be deleted and the rest detached.

## Headers

- `user-agent` string, required
- `cf-connecting-ip` string, required

## Request body

- PerformInstanceActionPublicDto
  - `action` 'boot' | 'start' | 'shutdown' | 'delete' | 'discontinue' | 'hibernate' | 'configure_spot' | 'force_shutdown' | 'delete_stuck' | 'deploy' | 'transfer', required
  - `id` union, required — Instance ID or list of instance IDs
    - string, uuid
    - string[]
  - `volume_ids` string[] — Volume IDs to delete. Specify empty array to indicate no volumes should be deleted (previously known as "hibernate")
  - `delete_permanently` boolean — Delete the volumes permanently. Only applicable for delete (or discontinue) action, when volume IDs to delete are also provided.

## Response `202`

All actions completed successfully

- InstanceActionResultDto[]
  - `instanceId` string, uuid, required — Instance ID
  - `action` 'boot' | 'start' | 'shutdown' | 'delete' | 'discontinue' | 'hibernate' | 'configure_spot' | 'force_shutdown' | 'delete_stuck' | 'deploy' | 'transfer', required — Action that was requested
  - `status` 'success' | 'error', required — Whether the action succeeded or failed
  - `error` string — Error message if the action failed
  - `statusCode` number — HTTP status code of the error

## Other responses

- `204` — Instance is already in the requested state (single action only)
- `207` — Some actions failed - returns per-action results with individual statuses and errors
- `400` — Invalid request or action not allowed (single action only)
- `404` — Instance not found (single action only)

---

[API](https://skmtc.net/datacrunch/apis/verda-cloud-public-api.md) · [All operations](https://skmtc.net/datacrunch/apis/verda-cloud-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/datacrunch/verda-cloud-public-api/revisions/0d66c7340876/schema)
