エラー
エラーレスポンスの形式、HTTP ステータス、フィールド単位のエラーコード一覧。
エラー形式
エラーは RFC 9457
(application/problem+json) で返します。
| フィールド | 内容 |
|---|---|
title | HTTP ステータスの標準テキスト |
status | HTTP ステータスコード |
detail | エラーの人間可読な説明 |
rid | リクエスト入口で採番される追跡 ID (正式名 response_id) |
errors | フィールド単位のエラー詳細 (省略されうる) |
title / status / detail は RFC 9457 の標準メンバー、errors とその要素のキーも
短縮しません。rid だけは成功レスポンスと同じ短縮名です。
構文不正な JSON や許可リスト外のトップレベルパラメータ (正式名 limit などを
キーにした場合を含む) は、特定のフィールドに帰着できないため errors を持たない
汎用的な 400 になります。
{
"title": "Bad Request",
"status": 400,
"detail": "Request body must be a valid JSON object containing only supported parameters.",
"rid": "res_hf3k7qz9wt2xnc5m8bpv4djr6y"
}HTTP ステータス
| ステータス | detail | 発生条件 |
|---|---|---|
400 | Request parameters contain validation errors. | フィールド単位のバリデーションエラー |
400 | Request body must be a valid JSON object containing only supported parameters. | 構文不正・非 Object・許可外パラメータ |
413 | Request body must be 4KB or smaller. | ボディが上限を超過 |
415 | Content-Type must be application/json. | Content-Type が対応外 |
500 | An unexpected error occurred. | 予期しないサーバ内部エラー |
503 | Request processing exceeded the time limit. | 処理時間の超過 |
503 | Search backend is temporarily unavailable. | 検索バックエンドが一時的に利用不可 |
500 の detail は固定文で、内部の情報は含めません。原因の特定には rid
を添えて問い合わせてください。
ゲートウェイが返すエラー
認証・認可はゲートウェイが行います。次のステータスはゲートウェイが返すもので、リクエストは API サーバに到達しません。
| ステータス | 発生条件 |
|---|---|
401 | Authorization ヘッダが無い、トークンが不正または期限切れ、署名を検証できない |
403 | トークンは有効だが、dep-beta:rag-data-api:call スコープを持たない |
応答はゲートウェイ独自の JSON で、本ページの application/problem+json 形式ではありません。rid も errors も含まれません。
401 はトークンを取り直し、Authorization ヘッダが Bearer <access-token> の形で付いているか確認してください。403 はトークン取得時の scope を確認してください。取得方法は 認証 を参照してください。
エラーコード一覧
errors[].code に入る機械可読なコードです。errors[].field にはエラーが帰着する
フィールド名が、リクエストと同じ短縮名で入ります (q、l、flt.smin など)。
構造エラーでは Content-Type (415) や body (413。リクエストボディ全体) のような
擬似フィールド名になります。errors[].message 中のキー表記も短縮名です。
リクエスト構造に対するもの
| コード | 意味 |
|---|---|
content_too_large | ボディが上限を超過している |
unsupported_media_type | Content-Type が対応していない |
フィールド単位のもの
| コード | 意味 |
|---|---|
missing_required_field | 必須フィールドが無い |
invalid_type | 型が仕様と異なる |
too_short | 文字数が下限未満 |
too_long | 文字数が上限超過 |
too_many_items | 配列の要素数が上限超過 |
out_of_range | 値が許容範囲外 |
range_exceeded | 組み合わせた値が上限超過 (o + l) |
invalid_range | 下限と上限の関係が逆転している (si >= un) |
unsupported_value | 列挙に無い値が指定された |
no_available_fields | fld の指定が 1 件も採用されなかった |
各コードがどのパラメータで起きるかは RAG 用データ API の パラメータ説明と 制限事項 を参照してください。
サンプルエラー
必須パラメータが欠けている場合。
{
"title": "Bad Request",
"status": 400,
"detail": "Request parameters contain validation errors.",
"rid": "res_hf3k7qz9wt2xnc5m8bpv4djr6y",
"errors": [
{
"field": "q",
"code": "missing_required_field",
"message": "q is required."
}
]
}Content-Type が異なる場合。field にはヘッダ名が入ります。
{
"title": "Unsupported Media Type",
"status": 415,
"detail": "Content-Type must be application/json.",
"rid": "res_hf3k7qz9wt2xnc5m8bpv4djr6y",
"errors": [
{
"field": "Content-Type",
"code": "unsupported_media_type",
"message": "Content-Type must be application/json."
}
]
}追跡 ID
rid は res_ + 小文字英数 26 文字です。リクエストの入口で 1 回だけ採番され、
成功レスポンス・エラーレスポンス・サーバのアクセスログに同じ値が記録されます。
問い合わせの際はこの値を添えてください。