# GET /admin/api/audit-logs — 审计日志(谁改了什么,游标分页) > 所属:Admin·Audit 组(前缀 `/admin/api/audit-logs`) | 鉴权:Bearer admin_token(角色:任意已登录 admin) | [← 返回 API 索引](./README.md) ## 入参(query) | 字段 | 类型 | 必填 | 默认 | 说明 | |---|---|---|---|---| | `action` | string | ❌ | null | 按操作类型过滤,如 `admin.create` / `admin.update` | | `target_type` | string | ❌ | null | 按目标对象类型过滤,如 `admin` | | `admin_id` | int | ❌ | null | 按操作人(管理员 id)过滤 | | `limit` | int | ❌ | 50 | 1–100 | | `cursor` | int | ❌ | null | 上一页末条 `id`,首页不传 | ## 出参 响应 `200`:`{ items: AdminAuditLogOut[], next_cursor: int|null }`(按 `id` 倒序;分页见 [索引#游标分页约定](./README.md#游标分页约定)) **AdminAuditLogOut** | 字段 | 类型 | 说明 | |---|---|---| | `id` | int | 审计 id(也是游标) | | `admin_id` | int | 操作人管理员 id | | `admin_username` | string | 操作人账号(写入时快照) | | `action` | string | 操作类型,如 `admin.create` / `admin.update` | | `target_type` | string | 目标对象类型,如 `admin` | | `target_id` | string \| null | 目标对象 id(字符串) | | `detail` | object \| null | 操作详情(JSON,如变更字段) | | `ip` | string \| null | 操作来源 IP(取 XFF 首段或直连 IP,仅记录不鉴权) | | `created_at` | datetime | 操作时间(UTC) | ## 错误码 - `401` 未带 admin token / token 无效或过期 / 管理员被禁用 ## 说明 - 整组(`/admin/api/audit-logs`)守卫为 `get_current_admin`,任意已登录 admin 均可查看,无角色限制。 - 审计日志只增不改不删,任何写操作经 `write_audit` 落一条。数据表见 [admin_audit_log](../database/admin_audit_log.md)。