# 获取Aiguard总览统计数据
#### 功能介绍
获取指定项目下所有APP的接入数据和防护统计数据，统一返回完整总览数据。
- 时间参数：from/to为时间戳（毫秒），可选
  
- 时间范围限制：查询时间范围不超过1个月
  
- 数据来源：ES统计日志中的api_detection_stat结构
  
 
#### URI
GET /v1/{project_id}/aiguard/overview/summary
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID，用于标识请求所属的项目。 **约束限制：** 字符串类型，长度1-64字符。 **取值范围：** 32位UUID。 **默认取值：** 不涉及。 |
   
表2Query参数 
| 参数   | 是否必选 | 参数类型 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| from | 否    | Long | **参数解释：** 开始时间戳，用于指定查询的开始时间。 **约束限制：** 毫秒级时间戳，from和to都为正数，from必须小于to，且时间跨度不能超过30天。 **取值范围：** 大于0的毫秒时间戳，时间范围不超过1个月。 **默认取值：** 不涉及。 |
| to   | 否    | Long | **参数解释：** 结束时间戳，用于指定查询的结束时间。 **约束限制：** 毫秒级时间戳，from和to都为正数，from必须小于to，且时间跨度不能超过30天。 **取值范围：** 大于0的毫秒时间戳，时间范围不超过1个月。 **默认取值：** 不涉及。 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                          |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token，用于验证请求的合法性。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
   
#### 响应参数
**状态码：200**
表4响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                     |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表5响应Body参数 
| 参数    | 参数类型                                                                                            | 描述                                                                                                                                                                                             |
|:---|:---|:---|
| total | Integer                                                                                         | **参数解释：** 数据条数，用于返回查询结果的总条数。 **取值范围：** 非负整数，最小值0。    |
| items | Array of [OverviewStatistics] objects | **参数解释：** 总览统计数据列表，包含所有查询结果的统计数据。 **取值范围：** 列表长度0-1。 |
   
 表6OverviewStatistics 
| 参数                  | 参数类型                                                                                                | 描述                                                                                                                                                                                                        |
|:---|:---|:---|
| project_id          | String                                                                                              | **参数解释：** 项目ID，用于标识统计数据所属的项目。 **取值范围：** 字符串类型，长度1-64字符，32位UUID。 |
| text_request_count  | Long                                                                                                | **参数解释：** 文本请求数，用于统计用户通过文本方式发起的请求数。 **取值范围：** 非负整数，最小值0。        |
| image_request_count | Long                                                                                                | **参数解释：** 图片请求数，用于统计用户通过图片方式发起的请求数。 **取值范围：** 非负整数，最小值0。        |
| access_type_stats   | Array of [AccessTypeStatistics] objects | **参数解释：** 按接入类型统计，用于按不同的接入类型统计请求数据。 **取值范围：** 列表长度0-2。          |
| category_stats      | Array of [CategoryStatistics] objects     | **参数解释：** 分类别统计数据，用于按不同的防护类型统计请求数据。 **取值范围：** 列表长度0-4。          |
| action_stats        | Array of [ActionStatistics] objects         | **参数解释：** 处置动作统计数据，用于按不同的处置动作统计请求数据。 **取值范围：** 列表长度0-5。         |
| active_app_count    | Long                                                                                                | **参数解释：** 已开启的AI应用数量。 **取值范围：** 大于等于0的整数。                       |
| time_range          | [TimeRange] object                                 | **参数解释：** 时间范围，用于表示统计数据的时间范围。                                                                                                                               |
   
 表7AccessTypeStatistics 
| 参数                  | 参数类型   | 描述                                                                                                                                                                                                     |
|:---|:---|:---|
| access_type         | String | **参数解释：** 接入类型，用于标识请求的接入方式。 **取值范围：** api（API接入）、waf（WAF接入）。 |
| text_request_count  | Long   | **参数解释：** 文本请求数，用于统计该接入类型下通过文本方式发起的请求数。 **取值范围：** 非负整数，最小值0。 |
| image_request_count | Long   | **参数解释：** 图片请求数，用于统计该接入类型下通过图片方式发起的请求数。 **取值范围：** 非负整数，最小值0。 |
   
 表8CategoryStatistics 
| 参数            | 参数类型   | 描述                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| category_type | String | **参数解释：** 防护类型，用于标识统计数据的防护类别。 **取值范围：** CONTENT_COMPLIANCE（内容合规）、PROMPT_INJECTION（提示词注入）、SENSITIVE_CONTENT（敏感内容）、ABUSE（滥用）。 |
| total_count   | Long   | **参数解释：** 累计检测数，用于表示该防护类型下的总检测次数。 **取值范围：** 非负整数，最小值0。                                                                      |
| risk_count    | Long   | **参数解释：** 检出风险数，用于表示该防护类型下检测出的风险次数。 **取值范围：** 非负整数，最小值0。                                                                    |
   
 表9ActionStatistics 
| 参数          | 参数类型   | 描述                                                                                                                                                                                                                                                |
|:---|:---|:---|
| action_type | String | **参数解释：** 处置动作类型，用于标识统计数据的处置动作类别。 **取值范围：** ALLOW（放行）、BLOCK（拦截）、OBSERVE（观察）、MASK（脱敏）、SAFE_ANSWER（安全回复）。 |
| count       | Long   | **参数解释：** 数量，用于表示该处置动作类型下的请求数量。 **取值范围：** 非负整数，最小值0。                                                    |
   
 表10TimeRange 
| 参数   | 参数类型 | 描述                                                                                                                                                                                               |
|:---|:---|:---|
| from | Long | **参数解释：** 开始时间戳，用于表示统计数据的开始时间。 **取值范围：** 毫秒时间戳，大于0的整数。 |
| to   | Long | **参数解释：** 结束时间戳，用于表示统计数据的结束时间。 **取值范围：** 毫秒时间戳，大于0的整数。 |
   
**状态码：400**
表11响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                     |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表12响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                    |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：401**
表13响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                     |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表14响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                    |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：403**
表15响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                     |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表16响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                    |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：429**
表17响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                     |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表18响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                    |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：500**
表19响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                     |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于唯一标识一次请求，便于问题追踪。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表20响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                    |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
#### 请求示例
无
#### 响应示例
**状态码：200**
成功返回总览统计数据
```
{
  "total" : 1,
  "items" : [ {
    "project_id" : "project_id_23456",
    "text_request_count" : 100,
    "image_request_count" : 135,
    "access_type_stats" : [ {
      "access_type" : "api",
      "text_request_count" : 80,
      "image_request_count" : 100
    }, {
      "access_type" : "waf",
      "text_request_count" : 20,
      "image_request_count" : 35
    } ],
    "category_stats" : [ {
      "category_type" : "CONTENT_COMPLIANCE",
      "total_count" : 20,
      "risk_count" : 15
    }, {
      "category_type" : "PROMPT_INJECTION",
      "total_count" : 20,
      "risk_count" : 15
    }, {
      "category_type" : "SENSITIVE_CONTENT",
      "total_count" : 0,
      "risk_count" : 0
    }, {
      "category_type" : "ABUSE",
      "total_count" : 200,
      "risk_count" : 30
    } ],
    "action_stats" : [ {
      "action_type" : "ALLOW",
      "count" : 100
    }, {
      "action_type" : "BLOCK",
      "count" : 20
    }, {
      "action_type" : "OBSERVE",
      "count" : 100
    }, {
      "action_type" : "MASK",
      "count" : 10
    }, {
      "action_type" : "SAFE_ANSWER",
      "count" : 5
    } ],
    "time_range" : {
      "from" : 1779494400000,
      "to" : 1780185599000
    }
  } ]
}
```
#### 状态码
| 状态码 | 描述         |
|:---|:---|
| 200 | 成功返回总览统计数据 |
| 400 | 请求参数无效     |
| 401 | 认证失败       |
| 403 | 权限不足       |
| 429 | 请求过于频繁     |
| 500 | 服务端内部处理错误  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-waf/ErrorCode.html)。
