成分 / Seibun

エラー

成分 API のエラーは、すべて一貫した形で返ります。HTTP ステータスコードと、 ボディの error.code の両方で原因を判別できます。

{
  "error": {
    "code": "not_found",
    "message": "リソースが見つかりません"
  }
}
  • code … 機械可読な安定したコード(下表)。分岐はこの値で行ってください。
  • message … 人間向けの簡潔な説明。文言は予告なく変わり得ます。

HTTP ステータス

ステータス意味
400リクエストが不正(パラメータの形式エラーなど)
401認証が必要・認証失敗(理由は秘匿し一律 401)
403検証に失敗(お試しトークン発行時の Turnstile 検証など)
404リソースが存在しない(存在秘匿のための 404 を含む)
409リソース状態との競合(API キーの発行上限到達など)
429レート制限超過(レート制限 を参照)
500サーバ内部エラー

エラーコード一覧

code主なステータス説明
bad_request400パラメータ不正。例:スケール指定で gramsportion も無い
unauthorized401未認証 / 認証失敗。理由は秘匿(認証
forbidden403検証失敗(Turnstile など)
not_found404食品やキーが存在しない。他人のキー操作も存在秘匿で 404
key_limit_reached409API キーの発行上限に到達(失効してから再発行)
rate_limited429レート制限超過。Retry-After / RateLimit-* を確認
internal500サーバ内部エラー。再試行か、解消しなければ問い合わせ

認証失敗は一律 401。 キーが存在しない / 失効済み / 期限切れ / 形式不正、いずれの理由でも HTTP では 401 に潰します。これは存在や状態を攻撃者に推測させないための設計です。