# 查询AI Guard检测日志列表
#### 功能介绍
查询指定项目下的AI Guard检测日志列表，支持分页查询和多种筛选条件。
- 支持按照app_id、detect_type、attack_types、suggestion进行筛选
  
- 支持按照时间段（from/to）筛选
  
- 支持分页查询（limit/offset）
  
 
#### URI
GET /v1/{project_id}/aiguard/logs
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID，用于标识请求所属的项目。 **约束限制：** 字符串类型，长度1-64字符。 **取值范围：** 32位UUID。 **默认取值：** 不涉及。 |
   
表2Query参数 
| 参数             | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| app_id         | 否    | String           | **参数解释：** APP ID，用于筛选特定应用的日志。 **约束限制：** 字符串类型，长度1-36字符，仅支持字母、数字、下划线、中划线。 **取值范围：** 符合pattern格式的字符串。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| app_name       | 否    | String           | **参数解释：** APP名称，用于按应用名称精确筛选日志。 **约束限制：** 字符串类型，最大长度256字符，按应用名称精确匹配查询。 **取值范围：** 长度不超过256的字符串。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| request_id     | 否    | String           | **参数解释：** 请求ID，用于精确筛选匹配该request_id的检测日志。 **约束限制：** 字符串类型，长度1-192字符，仅支持字母、数字、下划线、中划线。 **取值范围：** 符合pattern格式的字符串。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| detect_type    | 否    | String           | **参数解释：** 检测类型，用于筛选特定类型的检测日志。 **约束限制：** 字符串类型，仅支持枚举值。 **取值范围：** text（文本检测）、image（图片检测）、text_image（图文检测）。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| attack_types   | 否    | Array of strings | **参数解释：** 攻击类型，用于筛选特定攻击类型的日志。 **约束限制：** 字符串数组，数组长度0-200，支持逗号分隔传入。每个元素支持snake_case格式或PascalCase格式。 **取值范围：** 合规类（politics、violent、illegal、porn、hatespeech、privatesensitive、religion、other）；注入类（goal_hijacking、prompt_leaking、role_play_instruction、unsafe_instruction_topic、inquiry_with_unsafe_opinion、reverse_exposure、multi_step_instruction、context_task、opposition_response、virtual_conversation、do_anything_now、code_injection）；PII类（telephone、phone_number、prc、china_resident_passport、china_drivers_license_number等）；滥用类（abuse_call_count、abuse_char_count）；语言检测类。 **默认取值：** 不涉及。 |
| suggestion     | 否    | String           | **参数解释：** 执行动作，用于筛选特定执行动作的日志。 **约束限制：** 字符串类型，仅支持枚举值。 **取值范围：** pass（放行）、block（拦截）、log（仅记录）、desensitize（脱敏）。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| from           | 否    | Long             | **参数解释：** 开始时间，用于筛选日志的开始时间。 **约束限制：** 毫秒时间戳，必须小于to参数值，from和to的时间跨度不能超过30天。 **取值范围：** 大于0的毫秒时间戳。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| to             | 否    | Long             | **参数解释：** 截止时间，用于筛选日志的截止时间。 **约束限制：** 毫秒时间戳，必须大于from参数值，from和to的时间跨度不能超过30天，to如果超过当前时间则自动修正为当前时间。 **取值范围：** 大于0的毫秒时间戳。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| limit          | 否    | Integer          | **参数解释：** 每页数量，用于控制每页返回的日志数量。 **约束限制：** 整数类型，最小值1，最大值1000。 **取值范围：** 1-1000。 **默认取值：** 10。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| offset         | 否    | Integer          | **参数解释：** 偏移量，用于控制返回日志的起始位置。 **约束限制：** 整数类型，最小值0。 **取值范围：** 0-2147483647。 **默认取值：** 0。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| marker         | 否    | String           | **参数解释：** 游标标记，用于分页查询时标记当前页的起始位置，标记到ES的request_id字段，传入时忽略offset参数。 **约束限制：** 字符串类型，长度1-256字符，仅支持字母、数字、下划线、中划线。 **取值范围：** 符合pattern格式的字符串。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| sort_by        | 否    | String           | **参数解释：** 排序字段，用于指定日志的排序字段。 **约束限制：** 字符串类型，仅支持枚举值。 **取值范围：** timestamp（按检测时间排序）。 **默认取值：** timestamp。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| sort_direction | 否    | String           | **参数解释：** 排序方向，用于指定日志的排序方向。 **约束限制：** 字符串类型，仅支持枚举值。 **取值范围：** asc（升序）、desc（降序）。 **默认取值：** desc。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token，用于认证请求的用户身份。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。                                                                                                                                                                                                                                                                         |
| Content-Type | 是    | String | **参数解释：** 内容类型，用于指定请求的内容类型。 **约束限制：** 字符串类型，长度1-100字符。 **取值范围：** application/json;charset=utf-8。 **默认取值：** application/json;charset=utf-8。 |
   
#### 响应参数
**状态码：200**
表4响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于跟踪请求的唯一标识。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表5响应Body参数 
| 参数    | 参数类型                                                          | 描述                                                                                                                                                        |
|:---|:---|:---|
| total | Integer                                                       | **参数解释：** 总记录数，用于表示查询结果的总记录数。 **取值范围：** 整数类型，最小值0。  |
| items | Array of [LogItem] objects | **参数解释：** 日志列表，用于返回查询结果的日志列表。 **取值范围：** 列表长度0-1000。 |
   
 表6LogItem 
| 参数             | 参数类型                                                                  | 描述                                                                                                                                                                                       |
|:---|:---|:---|
| id             | String                                                                | **参数解释：** 日志唯一标识，用于标识每条日志的唯一ID。 **取值范围：** 字符串类型，长度1-64字符。                          |
| timestamp      | Long                                                                  | **参数解释：** 检测时间，用于表示日志的检测时间。 **取值范围：** 毫秒时间戳，大于0的整数。                                |
| request_id     | String                                                                | **参数解释：** 请求ID，用于标识请求的唯一ID。 **取值范围：** 字符串类型，长度1-64字符。                              |
| region_id      | String                                                                | **参数解释：** 区域ID，用于标识日志所属的区域。 **取值范围：** 字符串类型，长度1-64字符。                              |
| engine_id      | String                                                                | **参数解释：** 引擎ID，用于标识处理该请求的安全引擎。 **取值范围：** 字符串类型，长度1-64字符。                           |
| app_id         | String                                                                | **参数解释：** APP ID，用于标识日志所属的应用。 **取值范围：** 字符串类型，长度1-64字符。                            |
| app_name       | String                                                                | **参数解释：** APP名称，即检测日志所属应用的名称。 **取值范围：** 不超过256的字符串。                                |
| tenant_id      | String                                                                | **参数解释：** 租户ID，用于标识日志所属的租户。 **取值范围：** 字符串类型，长度1-64字符。                              |
| project_id     | String                                                                | **参数解释：** 项目ID，用于标识日志所属的项目。 **取值范围：** 字符串类型，长度1-64字符，32位UUID。                      |
| detect_type    | String                                                                | **参数解释：** 检测类型，用于表示日志的检测类型。 **取值范围：** text（文本检测）、image（图片检测）、text_image（图文检测）。     |
| detect_content | String                                                                | **参数解释：** 检测内容原文，用于表示日志的检测内容。 **取值范围：** 字符串类型，长度0-262144字符。                        |
| attack_types   | Array of strings                                                      | **参数解释：** 检测分类，用于表示日志的攻击类型。 **取值范围：** 字符串数组，数组长度0-200，取值参考请求参数attack_types。        |
| suggestion     | String                                                                | **参数解释：** 执行动作，用于表示日志的执行动作。 **取值范围：** pass（放行）、block（拦截）、log（仅记录）、desensitize（脱敏）。 |
| custom_resp    | String                                                                | **参数解释：** 安全代答内容，即对命中的风险请求返回的安全代答回复。 **取值范围：** 字符串。                                |
| history        | Array of [HistoryItem] objects | 多轮对话历史上下文，与检测内容原文一一对应                                                                                                                                                                    |
| hit_details    | Array of [HitDetail] objects     | **参数解释：** 检测命中详情，用于表示日志的检测命中详情。 **取值范围：** 列表长度0-100。                               |
   
 表7HistoryItem 
| 参数      | 参数类型   | 描述                          |
|:---|:---|:---|
| role    | String | 消息角色（user/assistant/system） |
| content | String | 该轮消息内容                      |
   
 表8HitDetail 
| 参数            | 参数类型                                                                        | 描述                                                                                                                                                                                             |
|:---|:---|:---|
| risk_type     | String                                                                      | **参数解释：** 威胁类型，用于表示日志的威胁类型。 **取值范围：** 字符串类型，长度1-64字符，取值范围：compliance（合规攻击）、inject（注入攻击）。 |
| sub_risk_type | Array of strings                                                            | **参数解释：** 子威胁类型，用于表示日志的子威胁类型。 **取值范围：** 字符串数组，数组长度0-10。                                  |
| prob          | Float                                                                       | **参数解释：** 置信度分数，用于表示检测结果的置信度。 **取值范围：** 浮点数类型，最小值0.0，最大值1.0。                             |
| segments      | Array of [SegmentLogInfo] objects | **参数解释：** 命中规则的片段，用于表示日志的命中规则片段。 **取值范围：** 列表长度0-100。                                    |
   
 表9SegmentLogInfo 
| 参数           | 参数类型              | 描述                                                                                                                                                                                        |
|:---|:---|:---|
| segment      | String            | **参数解释：** 命中的风险片段，用于表示检测命中的风险文本片段。 **取值范围：** 字符串类型，长度1-256字符。                       |
| category     | String            | **参数解释：** 命中的词库类别，用于表示检测命中的内置词库或文本向量库类别，自定义词库时为词库名称。 **取值范围：** 字符串类型，长度1-128字符。     |
| position     | Array of integers | **参数解释：** 命中位置，命中词库时生效，用于表示命中的风险片段在文本中的起始位置，从0开始。 **取值范围：** 整数数组，数组长度0-10，每个元素最小值0。 |
| lexicon_id   | String            | **参数解释：** 词库ID，命中自定义词库时生效，用于表示命中的自定义词库ID。 **取值范围：** 字符串类型，长度1-64字符。                 |
| lexicon_type | Integer           | **参数解释：** 词库类型，命中自定义词库时生效，用于表示命中的自定义词库类型。 **取值范围：** 整数类型，0（豁免）或1（违规）。               |
   
**状态码：400**
表10响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于跟踪请求的唯一标识。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：401**
表12响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于跟踪请求的唯一标识。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表13响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：403**
表14响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于跟踪请求的唯一标识。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表15响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
**状态码：500**
表16响应Header参数 
| 参数           | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| X-request-id | String | **参数解释：** 请求ID号，用于跟踪请求的唯一标识。 **取值范围：** 字符串类型，长度1-64字符。 |
   
表17响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码，用于表示请求失败的错误码。 **取值范围：** 字符串类型，长度1-64字符。       |
| error_msg  | String | **参数解释：** 错误信息，用于表示请求失败的错误信息。 **取值范围：** 字符串类型，长度1-2048字符。   |
| detail     | String | **参数解释：** 错误详细描述，用于表示请求失败的详细描述。 **取值范围：** 字符串类型，长度0-2048字符。 |
   
#### 请求示例
无
#### 响应示例
无
#### 状态码
| 状态码 | 描述        |
|:---|:---|
| 200 | 成功返回日志列表  |
| 400 | 请求参数无效    |
| 401 | 认证失败      |
| 403 | 权限不足      |
| 500 | 服务端内部处理错误 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-waf/ErrorCode.html)。
