> 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-snapshot/createautosnapshotpolicy.md).

# CreateAutoSnapshotPolicy

## 1. API Description

This API (CreateAutoSnapshotPolicy) is used to create a snapshot schedule.

{% hint style="info" %} <mark style="color:blue;">**Note**</mark>

<mark style="color:blue;">The time of the snapshot schedule is</mark> <mark style="color:blue;">**UTC+0**</mark><mark style="color:blue;">.</mark>
{% endhint %}

## 2. Input Parameters

The following request parameter list only provides API request parameters.

| Parameter Name         | Required | Type                                                                         | Description                                                                                                                                                                                                                            |
| ---------------------- | -------- | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| zoneId                 | Yes      | String                                                                       | Availability zone ID.                                                                                                                                                                                                                  |
| autoSnapshotPolicyName | Yes      | String                                                                       | <p>The name of the snapshot schedule.</p><p>The length is 2 to 63 characters.</p><p>Only letters, numbers, -/\_ and periods (.) are supported.</p><p>The name must start and end with a number or a letter.</p>                        |
| repeatWeekDays         | Yes      | Array of Integer                                                             | <p>The backup date of the schedule.</p><p>Unit: day, cycle: week (e.g., 1 = Monday).</p><p>Available range: \[1, 7].</p><p>Value range: \[1, 7]</p>                                                                                    |
| hours                  | Yes      | Array of Integer                                                             | <p>Specify the start time of the snapshot schedule.</p><p>UTC time is used. Unit: hour.</p><p>24 time points are available from 00:00 to 23:00, 1 = 01:00, and so on.</p><p>Available range: \[0, 23].</p><p>Value range: \[0, 23]</p> |
| retentionDays          | No       | Integer                                                                      | <p>Retention time of automatic snapshots. Unit: day.</p><p>If the value is set to -1, it means that it is retained indefinitely.</p><p>The default is indefinite.</p><p>Value range: -1 or \[1,65535].</p>                             |
| resourceGroupId        | No       | String                                                                       | Resource group ID.                                                                                                                                                                                                                     |
| tags                   | No       | [TagAssociation](/api-reference/compute/zec/datastructure.md#tagassociation) | <p>Bound tags when creating the auto snapshot policy.</p><p>Tag keys must be unique.</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> |
| autoSnapshotPolicyId | String | The ID of the snapshot schedule.                                                                                      |

## 4. Code Example

{% tabs %}
{% tab title="Example" %}
**Create a snapshot schedule. The schedule is executed every Wednesday at 00:00. Retention time is 10 days.**

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

Request：
{
  "zoneId": "asia-east-1a",
  "autoSnapshotPolicyName": "week3-policy",
  "repeatWeekDays": [
    3
  ],
  "hours": [
    0
  ],
  "retentionDays": 10
}

Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "autoSnapshotPolicyId": "<autoSnapshotPolicyId>"
  }
}
```

{% 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              | INVALID\_RETENTION\_DAYS                | Invalid retention days.                    |
| 400              | INVALID\_SNAPSHOT\_REGION\_NOT\_SUPPORT | Snapshots are not supported in the region. |
| 404              | INVALID\_ZONE\_NOT\_FOUND               | Region does not exist.                     |
