> 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/zec/instance/startinstances.md).

# StartInstances

## 1. API Description

This API (StartInstances) is used to start one or more elastic compute instances.

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

* This operation can be performed when the instance status is stopped (`STOPPED`).
* This interface is asynchronous. The request to start instances returns immediately after it is sent successfully, but the operation is not completed at that point. The operation result can be queried by calling the [DescribeInstancesStatus](/api-reference/zec/instance/describeinstancesstatus.md) interface: if the instance status (`instanceStatus`) changes from `STARTING` to `RUNNING`, the instance is started successfully. No operation can be performed on the instance during the startup.
* Batch operations are supported. Up to 100 instances can be operated on in each request.
  {% endhint %}

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name | Required | Type            | Description                                                                                                                                                    |
| -------------- | -------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| instanceIds    | Yes      | Array of String | <p>ID of the instance to be started.</p><p>It can be obtained by calling <a href="/api-reference/zec/instance/describeinstances.md">DescribeInstances</a>.</p> |

## 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> |
| instanceIds    | Array of String | A list of instance IDs that failed to start.                                                                          |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}
**1. Start an instance.**

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

Request：
{
  "instanceIds": [
    "instanceId1",
    "instanceId2"
  ]
}

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

{% 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                                                 |
| ---------------- | ------------------------------------------ | ----------------------------------------------------------- |
| 400              | OPERATION\_DENIED\_INSTANCE\_IN\_OPERATION | Instance is performing another operation.                   |
| 400              | UNSUPPORTED\_OPERATION\_INSTANCE\_STATUS   | Operations on instances in current state are not supported. |
