
# 获取项目版本特性列表 - ListFeatures
#### 功能介绍
获取EMS特性列表。
#### URI
GET /v1/features
表1Query参数 
| 参数     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| limit  | 否    | Integer | **参数解释** 返回结果个数限制。 **约束限制** 不涉及。 **取值范围** 值为大于0的整数。 **默认取值** 100                                                                           |
| offset | 否    | Integer | **参数解释** 分页偏移量。分页查询时使用，与limit配合使用。假如共有50条记录，设置offset为11，limit为10，即为从第12条记录开始查询，一次最多可读取10条记录。 **约束限制** 不涉及。 **取值范围** 值为大于等于0的整数。 **默认取值** 0 |
   
#### 请求参数
无
#### 响应参数
**状态码：200**
表2响应Body参数 
| 参数         | 参数类型                                                                       | 描述                                                                                                                                         |
|:---|:---|:---|
| total      | Integer                                                                    | **参数解释** 特性数量。 **取值范围** 0 \~2147483647        |
| project_id | String                                                                     | **参数解释** 租户ID。 **取值范围** 由字母、数字组成，且长度为0-64个字符。 |
| features   | Array of [FeatureProperty] objects | **参数解释** 特性列表。 **取值范围** 特性对象数组，最多100个元素。      |
   
 表3FeatureProperty 
| 参数          | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| feature     | String  | **参数解释** 特性标识。 **取值范围** 由字母、数字、点号(.)、下划线(_)组成，且长度为0-256个字符。                                                                                                                                                                                                                                                          |
| switch      | Boolean | **参数解释** 特性开关状态。 **取值范围** - true: 开启。   - false: 关闭。    |
| type        | String  | **参数解释** 数据类型。 **取值范围** 由大写字母组成，且长度为0-32个字符。                                                                                                                                                                                                                                                                         |
| value       | String  | **参数解释** 特性值。 **取值范围** 由Unicode字符组成，且长度为0-512个字符。                                                                                                                                                                                                                                                                    |
| description | String  | **参数解释** 特性描述。 **取值范围** 由Unicode字符组成，且长度为0-2048个字符。                                                                                                                                                                                                                                                                  |
   
**状态码：400**
表4响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                    |
|:---|:---|:---|
| error_code | String | **参数解释** 错误码，用于标识具体的错误类型。 **取值范围** 不涉及。  |
| error_msg  | String | **参数解释** 错误描述，用于说明具体的错误信息。 **取值范围** 不涉及。 |
   
#### 请求示例
查询项目版本特性列表，每页返回10个记录，从第2条记录（offset=1）开始返回结果。
```
GET https://{endpoint}/v1/features?limit=10&offset=1
```
#### 响应示例
**状态码：200**
**参数解释**
获取项目版本特性列表成功返回响应体。
**取值范围**
不涉及。
```
{
  "total" : 1,
  "project_id" : "0c1503d710984bad92306faea3654dfd",
  "features" : [ {
    "feature" : "feature.gates.batch_create_v2_loadbalancers_amount",
    "switch" : true,
    "type" : "INT",
    "value" : "10",
    "description" : ""
  } ]
}
```
**状态码：400**
**参数解释**
错误响应体。
**取值范围**
不涉及。
```
{
  "error_code" : "EMS.00004000",
  "error_msg" : "invalid parameter"
}
```
#### 状态码
| 状态码 | 描述                                                                                                                                     |
|:---|:---|
| 200 | **参数解释** 获取项目版本特性列表成功返回响应体。 **取值范围** 不涉及。 |
| 400 | **参数解释** 错误响应体。 **取值范围** 不涉及。             |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ems/ems_04_0031.html)。
