> ## Documentation Index
> Fetch the complete documentation index at: https://support.i.moneyforward.com/llms.txt
> Use this file to discover all available pages before exploring further.

# エラー

> AI Helpdesk API は、問題が発生した際に適切な HTTP ステータスコードと共通のエラーレスポンスを返します。

## HTTP ステータスコード

API は標準的な HTTP ステータスコードを使用します。AI Helpdesk API はリードオンリーのため、`2xx` 系では `200` のみを返します。

| ステータスコード | 意味           | 説明                          |
| -------- | ------------ | --------------------------- |
| 200      | OK           | リクエストが成功した                  |
| 400      | Bad Request  | クエリパラメータが不正、または必要な設定が欠落している |
| 401      | Unauthorized | `X-API-Key` ヘッダーが欠落しているか無効  |
| 404      | Not Found    | 指定したリソースが存在しない              |

## エラーレスポンス形式

エラーが発生した場合、API は以下の形式の JSON レスポンスを返します。

```json theme={null}
{
  "ok": false,
  "error": "Missing or invalid API key"
}
```

### レスポンスフィールド

| フィールド   | 型       | 説明             |
| ------- | ------- | -------------- |
| `ok`    | boolean | エラー時は `false`  |
| `error` | string  | 人間が読めるエラーメッセージ |

## 一般的なエラー

### 認証エラー (401)

```json theme={null}
{
  "ok": false,
  "error": "Missing or invalid API key"
}
```

原因: `X-API-Key` ヘッダーが設定されていない、または値が無効。

### リソース未存在 (404)

```json theme={null}
{
  "ok": false,
  "error": "Not found"
}
```

原因: パスパラメータ（`sessionKey`、`docId`、`typePath`、`integrationId` など）が存在しないか、別テナントに属している。

### パラメータエラー (400)

```json theme={null}
{
  "ok": false,
  "error": "Invalid query parameters"
}
```

原因: `status` や `assigneeType` などの enum パラメータに範囲外の値を指定した、`limit` が `1..100`（procedures は `1..500`）の範囲外、など。

## エラー処理のベストプラクティス

1. レスポンスは必ず `ok` フィールドの真偽で成否を判定する
2. `error` メッセージはログに記録し、ユーザーへは内容に応じて適切に翻訳して表示する
3. 401 はキー再発行が必要なため、自動リトライではなく運用者に通知する
4. 404 は呼び出し側のロジックの問題なので、自動リトライしない
5. センシティブな情報（API キー全体など）をエラーメッセージのログへ含めないようにする
