AGTCloud API Docs
ガイドAPIリファレンス連携とリソース更新とヘルプ

Request ID

レスポンスHeaderまたはエラー情報からリクエスト追跡IDを保存し、調査に必要な情報を準備します。

Request IDを保存する理由

Request IDは、1回のAPIリクエストとプラットフォームの処理記録を関連付けるために使用します。失敗、異常な結果、タイムアウト、課金に関する疑問が発生したときにRequest IDを保存すると、完全なリクエスト本文を共有する必要が減り、対応するリクエストを特定しやすくなります。

プロトコル、インターフェース、ゲートウェイパスによって、返されるHeader名が異なる場合があります。レスポンスHeaderでは次の順に確認してください。

x-request-id: REQUEST_ID
request-id: REQUEST_ID
x-oneapi-request-id: REQUEST_ID

実際のレスポンスを確認してください

すべてのインターフェースやレスポンスが、すべてのHeaderを返すわけではありません。実際に存在するRequest IDを保存してください。一部のエラーレスポンスでは、エラー本文にRequest IDが含まれる場合もあります。

cURLでレスポンスHeaderを確認する

信頼できるターミナル環境で、現在のサイトのBase URLとAPI Keyを設定します。-iを指定すると、レスポンスHeaderと本文が同時に表示されます。

export AGTCLOUD_BASE_URL='https://api.agtcloud.cn/v1'
export AGTCLOUD_API_KEY='your-api-key'

curl -i "${AGTCLOUD_BASE_URL:?}/chat/completions" \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer ${AGTCLOUD_API_KEY:?}" \
  --data '{"model":"MODEL_ID","messages":[{"role":"user","content":"こんにちは"}]}'

完全なAuthorizationを含むターミナル履歴やスクリーンショットを、そのまま他者に送信しないでください。

Pythonで読み取る

import os
import requests

base_url = os.environ["AGTCLOUD_BASE_URL"]
api_key = os.environ["AGTCLOUD_API_KEY"]

response = requests.post(
    f"{base_url}/chat/completions",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json={
        "model": "MODEL_ID",
        "messages": [{"role": "user", "content": "こんにちは"}],
    },
    timeout=60,
)

request_id_headers = (
    "x-request-id",
    "request-id",
    "x-oneapi-request-id",
)
request_id = next(
    (response.headers.get(name) for name in request_id_headers if response.headers.get(name)),
    None,
)
print("request_id:", request_id)
print("status:", response.status_code)

本番コードではログに残すレスポンス本文の長さを制限し、Prompt、ファイル内容、ユーザーデータから機密情報を除いてください。

JavaScriptで読み取る

const response = await fetch(`${process.env.AGTCLOUD_BASE_URL}/chat/completions`, {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.AGTCLOUD_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    model: 'MODEL_ID',
    messages: [{ role: 'user', content: 'こんにちは' }],
  }),
});

const requestIdHeaderNames = [
  'x-request-id',
  'request-id',
  'x-oneapi-request-id',
] as const;
const requestId =
  requestIdHeaderNames
    .map((name) => response.headers.get(name))
    .find((value) => value !== null) ?? null;

console.log({ requestId, status: response.status });

この例はサーバー側の環境でのみ使用してください。ブラウザに長期API Keyを保持させないでください。

問い合わせ時に提供する情報

情報例必須かどうか
Request IDREQUEST_IDレスポンスに存在する場合は提供
リクエスト時刻2026-08-19 14:30 +08:00はい
Method / PathPOST /v1/chat/completionsはい
モデルID機密情報を除いたうえで正確に記載はい
HTTP Status429はい
エラーコードと短いメッセージ機密情報を削除する推奨
SDKとバージョンopenai SDKのバージョンSDKを使用している場合に提供

完全なAPI Key、認証Header、ユーザーの個人情報、機密情報を除いていないファイル、完全なリクエストやレスポンスを提供しないでください。Request IDはAPI Keyではありませんが、必要なトラブルシューティングの場合にのみ共有してください。

Request IDがない場合

  1. リクエスト時刻、エンドポイント、モデル、ステータス、エラー本文を保存します。
  2. プロキシ、CDN、SDKがレスポンスHeaderを削除していないか確認します。
  3. ストリーミングリクエストでは、接続開始時刻と切断時刻も記録します。
  4. 非同期タスクではTask IDも保存します。
  5. 問い合わせ時に、レスポンスHeaderとエラー本文の両方で追跡IDが見つからなかったことを伝えます。

関連ページ:エラーとトラブルシューティング · FAQ · 一般規則

このページの内容