---
title: Détacher un volume par identifiant
slug: detacher-un-volume-par-identifiant
docTags: 
createdAt: 2026-06-04T15:50:56.155Z
---

{
  "id": "Fl3MG4_nicjx8OGa7TkcW",
  "type": "api-oas-v2",
  "data": {
    "method": "DELETE",
    "url": "https://api.ionos.com/cloudapi/v6/datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}",
    "servers": [
      {
        "url": "https://api.ionos.com/cloudapi/v6/datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}"
      }
    ],
    "name": "Detach a Volume by ID",
    "description": "<p>Detaches the specified volume from the server.\nNote that only the volume's connection to the specified server is disconnected. If you want to delete the volume, you must submit a separate request to perform the deletion.\nVolumes that use a Confidential Computing image cannot be detached. They are permanently bound to the server they were created with as its boot device; the volume is only removed together with the server.</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "datacenterId",
          "type": "string",
          "description": "The unique ID of the data center."
        },
        {
          "kind": "required",
          "name": "serverId",
          "type": "string",
          "description": "The unique ID of the server."
        },
        {
          "kind": "required",
          "name": "volumeId",
          "type": "string",
          "description": "The unique ID of the volume."
        }
      ],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        },
        {
          "kind": "optional",
          "name": "X-Contract-Number",
          "type": "integer<int32>",
          "description": "<p>Users with multiple contracts must provide the contract number, for which all API requests are to be executed.</p>",
          "format": "int32"
        }
      ],
      "queryParameters": [
        {
          "kind": "optional",
          "name": "pretty",
          "type": "boolean",
          "description": "<p>Controls whether the response is pretty-printed (with indentations and new lines).</p>",
          "default": true
        },
        {
          "kind": "optional",
          "name": "depth",
          "type": "integer<int32>",
          "description": "<p>Controls the detail depth of the response objects.\nGET /datacenters/[ID]\n- depth=0: Only direct properties are included; children (servers and other elements) are not included.\n- depth=1: Direct properties and children references are included.\n- depth=2: Direct properties and children properties are included.\n- depth=3: Direct properties and children properties and children's children are included.\n- depth=... and so on</p>",
          "default": 0,
          "format": "int32",
          "minimum": 0,
          "maximum": 10
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "BasicAuthentication",
          "name": "BasicAuthentication",
          "kind": "optional",
          "type": "http",
          "description": "<p>You will need to base64 encode the string containing your credentials. \nNote:\n\n</p>",
          "scheme": "basic"
        },
        {
          "id": "TokenAuthentication",
          "name": "Authorization",
          "kind": "optional",
          "type": "apiKey",
          "description": "<p>Please provide header value as 'Bearer ' and don't forget to add 'Bearer' HTTP Authorization Scheme before the token.</p>",
          "in": "header"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "202",
        "description": "Successful operation",
        "jsonExample": "",
        "isExpanded": true,
        "headers": [
          {
            "kind": "optional",
            "name": "X-RateLimit-Remaining",
            "type": "integer<int32>",
            "description": "The number of requests that can still be made without triggering a failure response.",
            "format": "int32"
          },
          {
            "kind": "optional",
            "name": "X-RateLimit-Limit",
            "type": "integer<int32>",
            "description": "The average number of requests per minute allowed.",
            "format": "int32"
          },
          {
            "kind": "optional",
            "name": "X-RateLimit-Burst",
            "type": "integer<int32>",
            "description": "The maximum number of concurrent API requests allowed.",
            "format": "int32"
          },
          {
            "kind": "optional",
            "name": "Location",
            "type": "string",
            "description": "Callback URL to poll async operation status.",
            "pattern": "https://[apiBaseUri]/requests/[requestId]/status"
          }
        ]
      },
      {
        "statusCode": "default",
        "description": "<p>Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).</p>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "Error",
            "schema": [
              {
                "name": "httpStatus",
                "kind": "optional",
                "type": "integer<int32>",
                "readOnly": true,
                "description": "HTTP status code of the operation.",
                "example": 400,
                "format": "int32"
              },
              {
                "name": "messages",
                "kind": "optional",
                "type": "array",
                "description": "",
                "modelRef": "#/components/schemas/ErrorMessage",
                "customType": "ErrorMessage[]",
                "schema": [
                  {
                    "name": "errorCode",
                    "kind": "optional",
                    "type": "string",
                    "readOnly": true,
                    "description": "Application internal error code.",
                    "example": "123"
                  },
                  {
                    "name": "message",
                    "kind": "optional",
                    "type": "string",
                    "readOnly": true,
                    "description": "<p>A human-readable message.</p>",
                    "example": "Error message example."
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/Error",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "bp8QQzM0mlOQrkiG-b1G3",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request DELETE \\\n     --url 'https://api.ionos.com/cloudapi/v6/datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}?pretty=true&depth=integer%3Cint32%3E' \\\n     --header 'accept: application/json'"
        },
        {
          "id": "upiVCG3_qNScGQDNO0hLt",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'DELETE',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.ionos.com/cloudapi/v6/datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}?pretty=true&depth=integer<int32>\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "XrUdRFZ-ug01W57gjBIUj",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.ionos.com/cloudapi/v6/datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}?pretty=true&depth=integer<int32>\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Delete.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "AeJBnbfMCPlTHTEXUq6Ij",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.ionos.com/cloudapi/v6/datacenters/{datacenterId}/servers/{serverId}/volumes/{volumeId}?pretty=true&depth=integer<int32>\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"DELETE\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "bp8QQzM0mlOQrkiG-b1G3"
    },
    "results": {
      "languages": [
        {
          "id": "X74qcP3YSJSMCI9Enpi2M",
          "language": "202",
          "code": "// Successful operation\n"
        },
        {
          "id": "A4ZQBUzXf0gHZl15PM41K",
          "language": "default",
          "code": "// Any erroneous status code: 400 (parse error), 401 (auth error), 402 (trial access), 403 (insufficient privileges), 404 (not found), 405 (unsupported HTTP method), 415 (unsupported content type, 422 (validation error), 429 (request rate limit exceeded), 500 (server error), or 503 (maintenance).\n{\n  \"httpStatus\": 400,\n  \"messages\": [\n    {\n      \"errorCode\": \"123\",\n      \"message\": \"Error message example.\"\n    }\n  ]\n}"
        }
      ],
      "selectedLanguageId": "X74qcP3YSJSMCI9Enpi2M"
    }
  },
  "children": [
    {
      "text": "",
      "id": "RUgDwK_2cQ2KBeUQsHaoi"
    }
  ]
}