> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/api-reference/compute/zec/disk/attachdisks.md).

# AttachDisks

## 1. API Description

This API (AttachDisks) is used to attach disks to instance.

{% hint style="info" %}
**Notes**

* A maximum of 10 disks can be attached in a single request.
* The target instance must exist and be in an available state (states such as creating or initializing are not considered available), and the number of disks in this request must not exceed the maximum number the instance can accommodate (see quota for details) — if either condition is not met, the entire request returns an error immediately, no disks in this request are processed, and `failedDiskIds` **will not** be returned.
* If a disk is already attached to the target instance in this request, the target state is considered achieved and it is simply skipped.
* If a disk does not meet the attach conditions (region differs from the instance, already attached to another instance, status does not support attaching, etc.), only that disk will fail to attach — its ID will appear in the response's `failedDiskIds`, without affecting the attachment of the other disks.
* Disk IDs in the request that do not exist are silently ignored; they will not cause the request to fail, nor will they appear in `failedDiskIds`.
  {% endhint %}

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name | Required | Type            | Description                                           |
| -------------- | -------- | --------------- | ----------------------------------------------------- |
| diskIds        | Yes      | Array of String | ID list of disks.                                     |
| instanceId     | Yes      | String          | ID of the instance to which the disks to be attached. |

## 3. Output Parameters

| Parameter Name | Type            | Description                                                                                                           |
| -------------- | --------------- | --------------------------------------------------------------------------------------------------------------------- |
| requestId      | String          | <p>The unique request ID, which is returned for each request.</p><p>RequestId is required for locating a problem.</p> |
| failedDiskIds  | Array of String | Cloud disk mounting failed.                                                                                           |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}
**1. Attach disks to an instance.**

```json
POST /api/v2/zec HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: AttachDisks
<Common Request Params>

Request：
{
  "diskIds": [
    "your-disk-id"
  ],
  "instanceId": "your-instance-id"
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "failedDiskIds": []
  }
}
```

{% endtab %}
{% endtabs %}

## 5. Developer Resources

Zenlayer Cloud API 2.0 integrates [SDKs](/api-reference/api-introduction/toolkit/api-sdk.md)，to make it easier for you to call APIs. More programming languages will be supported.

## 6. Error Codes

The following only lists the error codes related to the API business logic. For other error codes, see [Common Error Codes](/api-reference/api-introduction/instruction/commonerrorcode.md).

| HTTP Status Code | Error Code                               | Description                                                 |
| ---------------- | ---------------------------------------- | ----------------------------------------------------------- |
| 404              | INVALID\_INSTANCE\_NOT\_FOUND            | Instance not found.                                         |
| 400              | UNSUPPORTED\_OPERATION\_INSTANCE\_STATUS | Operations on instances in current state are not supported. |
