> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mixroute.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ユーザーログと使用統計

> /api/log/selfおよび/api/log/self/statエンドポイントを通じて、利用ログ、ダッシュボードの分析情報、請求情報を照会します。

## はじめに

MixRouteコンソールには、アカウントの使用状況と請求情報を照会するための2つのエンドポイントがあり、次のニーズに対応します。

* 利用ログを表示
* ダッシュボードの分析情報を確認します（モデル分析、リクエスト数、トークン統計など）
* 請求情報を確認します（APIキーが利用したモデル、対応する入力／出力トークン数、各モデルの利用割合）
* モデル別の実際の消費量を把握する

## 認証

すべてのリクエストに、2つのヘッダーを含める必要があります。

| ヘッダー | 説明 |
| - | - |
| `Authorization` | `Bearer <you-api-key>`。システムアクセス用のAPIキー |
| `New-Api-User` | `<you-user-id>`。アカウントのユーザーID |

## ユーザーログの取得 GET `/api/log/self`

アカウントの利用ログを新しい順に返します。ページネーションパラメーターで出力を制御します。

### リクエストパラメーター

<ParamField query="p" type="integer">
  ページ番号。1から始まります。
</ParamField>

<ParamField query="page_size" type="integer">
  1ページあたりのログ件数。
</ParamField>

たとえば、`/api/log/self?p=1&page_size=20`は、1ページあたり20件のログを含む最初のページを返します。

### リクエスト例

```bash cURL theme={null}
curl --request GET \
  --url 'https://console.mixroute.ai/api/log/self?p=1&page_size=20' \
  --header 'authorization: Bearer <you-api-key>' \
  --header 'new-api-user: <you-user-id>'
```

### レスポンス例

```json Response theme={null}
{
  "data": {
    "page": 1,
    "page_size": 20,
    "total": 2821,
    "items": [
      {
        "id": 1,
        "user_id": 81,
        "created_at": 1787215542,
        "type": 2,
        "content": "",
        "username": "<you-user-name>",
        "token_name": "<your-token-name>",
        "model_name": "deepseek-v4-flash-0731",
        "quota": 768,
        "prompt_tokens": 23144,
        "completion_tokens": 2948,
        "use_time": 38,
        "is_stream": true,
        "channel": 239,
        "channel_name": "",
        "token_id": 202,
        "group": "default",
        "ip": "",
        "request_id": "202608200845041208627278268d9d63W55TNWu",
        "other": "{\"billing_source\":\"wallet\",\"cache_ratio\":0.02,\"cache_tokens\":18432,\"completion_ratio\":2,\"frt\":1245,\"group_ratio\":1,\"model_price\":-1,\"model_ratio\":0.07,\"reasoning_effort\":\"max\",\"request_conversion\":[\"OpenAI Responses\"],\"request_path\":\"/v1/responses\",\"user_group_ratio\":-1}"
      }
    ]
  },
  "message": "",
  "success": true
}
```

### ログフィールドのリファレンス

| フィールド | 型 | 説明 |
| - | - | - |
| `data.page` | integer | 現在のページ番号 |
| `data.page_size` | integer | 1ページあたりの件数 |
| `data.total` | integer | ログエントリの総数 |
| `data.items[]` | array | ログエントリの一覧 |
| `data.items[].id` | integer | ログID |
| `data.items[].user_id` | integer | ユーザーID |
| `data.items[].created_at` | integer | 作成時刻（秒単位のUnixタイムスタンプ） |
| `data.items[].type` | integer | レコードの種類 |
| `data.items[].content` | string | 備考またはエラーメッセージ。通常は空 |
| `data.items[].username` | string | ユーザー名 |
| `data.items[].token_name` | string | 使用したAPIキーの名前 |
| `data.items[].model_name` | string | モデル名 |
| `data.items[].quota` | integer | このリクエストで消費したクォータ（**1米ドル = 500,000クォータ（5 × 10⁵）**） |
| `data.items[].prompt_tokens` | integer | 入力トークン数 |
| `data.items[].completion_tokens` | integer | 出力トークン数 |
| `data.items[].use_time` | integer | リクエストの所要時間（秒） |
| `data.items[].is_stream` | boolean | リクエストがストリーミング方式だったかどうか |
| `data.items[].channel` | integer | チャネルID |
| `data.items[].channel_name` | string | チャネル名。空の場合があります |
| `data.items[].token_id` | integer | APIキーID |
| `data.items[].group` | string | グループ名 |
| `data.items[].ip` | string | リクエスト元IP |
| `data.items[].request_id` | string | リクエストID |
| `data.items[].other` | string | JSON文字列としての課金メタデータ。以下を参照 |

`data.items[].other`はJSON文字列で、主に以下の請求およびリクエスト情報を含みます。

| フィールド | 説明 |
| - | - |
| `billing_source` | 課金元。例：`wallet` |
| `model_price` | モデルの単価。未指定の場合は`-1` |
| `model_ratio` | モデル倍率 |
| `cache_ratio` | キャッシュ倍率 |
| `cache_tokens` | キャッシュされたトークン数 |
| `completion_ratio` | 出力倍率 |
| `group_ratio` | グループ倍率 |
| `user_group_ratio` | ユーザーグループの倍率 |
| `reasoning_effort` | 推論の強度の設定 |
| `request_conversion` | リクエストの変換方法。例：`OpenAI Responses` |
| `request_path` | 実際のリクエストパス。例：`/v1/responses` |
| `frt` | 最初のトークンまでの時間（ミリ秒） |

## 使用量の合計統計を取得 GET `/api/log/self/stat`

アカウントの累計利用額とレート制限の状態を返します。このエンドポイントにリクエストパラメーターはありません。

### リクエスト例

```bash cURL theme={null}
curl --request GET \
  --url 'https://console.mixroute.ai/api/log/self/stat' \
  --header 'authorization: Bearer <you-api-key>' \
  --header 'new-api-user: <you-user-id>'
```

### レスポンス例

```json Response theme={null}
{
  "data": {
    "quota": 32892251,
    "rpm": 0,
    "tpm": 0
  },
  "message": "",
  "success": true
}
```

### フィールドリファレンス

| フィールド | 型 | 説明 |
| - | - | - |
| `data.quota` | integer | 消費したクォータの累計 |
| `data.rpm` | integer | 1分あたりのリクエスト数の制限状況 |
| `data.tpm` | integer | 1分あたりのトークン数の制限状況 |
| `message` | string | エラーメッセージ。成功時は空です。 |
| `success` | boolean | リクエストが成功したかどうか |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.