# 查询上游请求记录

```{raw} html
<div class="mo-api-page-show-toc" aria-hidden="true"></div>
```

查询一次模型调用向上游发出的各次请求及其结果。

```text
GET https://billing.moi.matrixorigin.cn/api/v1/taas/usage-logs/{id}/provider-requests
```

## 调用前准备

1. 准备个人访问令牌。创建和管理方法参阅[创建和管理个人访问令牌](../../../../../guides/genesis/api-keys.md#创建和管理个人访问令牌)。
2. 通过[查询请求日志列表](list-request-logs.md)选择要查询的调用。

查询范围为当前用户有权访问的数据。

## 请求示例

将示例中的 `$MOI_PERSONAL_ACCESS_TOKEN` 和 `$USAGE_LOG_ID` 分别替换为个人访问令牌和所选请求日志的 ID。

```bash
curl --get "https://billing.moi.matrixorigin.cn/api/v1/taas/usage-logs/$USAGE_LOG_ID/provider-requests" \
  -H "X-API-Key: $MOI_PERSONAL_ACCESS_TOKEN"
```

## 路径参数

::::{div} mo-api-parameter-table

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `id` | string | 是 | 所选请求日志的 ID，取自请求日志列表中的 `items[].id`。 |

::::

## 成功响应

返回 HTTP `200`，响应包含所选调用的上游请求尝试列表。

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} 响应示例

```json
[
  {
    "id": "attempt_example",
    "usage_log_id": "usage_example",
    "model_id": "model_example",
    "model_name": "example-chat-model",
    "attempt_number": 1,
    "status": "success",
    "http_status_code": 200,
    "called_at": 1788710400,
    "input_tokens": 12,
    "output_tokens": 8,
    "cache_read_tokens": 0,
    "cache_creation_tokens": 0,
    "latency_ms": 120,
    "created_at": 1788710400
  }
]
```

:::::
:::::{tab-item} 字段说明

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `[].id` | string | 上游请求记录 ID。 |
| `[].usage_log_id` | string | 所属请求日志 ID。 |
| `[].model_id` | string | 模型目录对象 ID。 |
| `[].model_name` | string | 实际调用的模型名称。 |
| `[].attempt_number` | integer | 本次调用内的尝试序号。 |
| `[].status` | string | 尝试结果状态。 |
| `[].http_status_code` | integer | 上游返回的 HTTP 状态码；有值时返回。 |
| `[].retryable` | boolean | 此次失败是否可重试；为 `false` 时可省略。 |
| `[].called_at` | integer | 调用时间，Unix 秒。 |
| `[].input_tokens` | integer | 输入 Token 数。 |
| `[].output_tokens` | integer | 输出 Token 数。 |
| `[].cache_read_tokens` | integer | 缓存读取 Token 数。 |
| `[].cache_creation_tokens` | integer | 缓存写入 Token 数。 |
| `[].error_type` | string | 调用错误类别；有错误时返回。 |
| `[].error_message` | string | 调用错误说明；有错误时返回。 |
| `[].latency_ms` | integer | 调用耗时，毫秒。 |
| `[].created_at` | integer | 日志创建时间，Unix 秒。 |

字段路径中的 `[]` 表示数组中的每一项。

:::::
::::::
:::::::
