> For the complete documentation index, see [llms.txt](https://developer.mixeder.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.mixeder.net/mixederpublicapis/apirifarensu/json-database-api-v2.md).

# JSON Database API V2

APIエンドポイント: `https://events-front.mixeder.net/v2/jsdbv2`

### 概要

このAPIは、JSONデータベースに対するCRUD操作（読み込み、追加、更新、削除）を提供します。連番を自動的に管理し、簡単にデータを操作できます。

***

### リクエスト形式

* ベースURL: `https://events-front.mixeder.net/v2/jsdbv2`
* メソッド: `GET` / `POST`（アクションによる）

### 共通パラメータ

| パラメータ名   | 必須   | 説明                       |
| -------- | ---- | ------------------------ |
| `key`    | はい   | JSONファイルを特定するためのキー       |
| `action` | いいえ  | 実行するアクション（デフォルト: `read`） |
| `id`     | 条件付き | 特定のデータを指定するID（更新/削除時に必要） |
| `data`   | 条件付き | JSON形式のデータ（追加/更新時に必要）    |

***

### エンドポイントの詳細

#### 1. データの取得 (Read)

* **概要**: 指定されたJSONデータを取得します。
* **HTTPメソッド**: `GET`
* **リクエスト例**:

  ```
  GET /v2/jsdbv2?key=mydata&action=read
  ```

  特定IDの取得:

  ```
  GET /v2/jsdbv2?key=mydata&action=read&id=1
  ```
* **レスポンス例**（全データ取得時）:

  ```json
  {
      "1": { "name": "Item 1", "price": 100 },
      "2": { "name": "Item 2", "price": 200 }
  }
  ```
* **レスポンス例**（特定ID取得時）:

  ```json
  {
      "name": "Item 1",
      "price": 100
  }
  ```

***

#### 2. データの追加 (Add)

* **概要**: 新しいデータを追加し、自動連番のIDを付与します。
* **HTTPメソッド**: `GET` or `POST`
* **リクエスト例**:

  ```
  POST /v2/jsdbv2?key=mydata&action=add&data={"name":"Item 3","price":300}
  ```
* **レスポンス例**:

  ```json
  {
      "success": "Data added successfully.",
      "id": 3
  }
  ```

***

#### 3. データの更新 (Update)

* **概要**: 特定のIDを指定してデータを更新します。
* **HTTPメソッド**: `GET` or `POST`
* **リクエスト例**:

  ```
  POST /v2/jsdbv2?key=mydata&action=update&id=1&data={"name":"Updated Item","price":150}
  ```
* **レスポンス例**:

  ```json
  {
      "success": "Data updated successfully."
  }
  ```

***

#### 4. データの削除 (Delete)

* **概要**: 特定のIDを指定してデータを削除します。
* **HTTPメソッド**: `GET` or `POST`
* **リクエスト例**:

  ```
  POST /v2/jsdbv2?key=mydata&action=delete&id=1
  ```
* **レスポンス例**:

  ```json
  {
      "success": "Data deleted successfully."
  }
  ```

***

### エラーレスポンス

<table><thead><tr><th>ステータスコード</th><th>メッセージ</th><th width="199">説明</th></tr></thead><tbody><tr><td>400</td><td><code>{"error": "Invalid action specified."}</code></td><td>不正なアクションが指定された場合</td></tr><tr><td>400</td><td><code>{"error": "Key parameter is missing."}</code></td><td><code>key</code> パラメータが不足している場合</td></tr><tr><td>404</td><td><code>{"error": "Data not found."}</code></td><td>指定されたIDのデータが存在しない場合</td></tr><tr><td>400</td><td><code>{"error": "Invalid data format."}</code></td><td>提供されたデータ形式が不正な場合</td></tr></tbody></table>

***

### 注意事項

1. データは指定された `key` を基にJSONファイルとして保存されます。
2. データが存在しない場合、APIは自動で空のJSONファイルを作成します。
3. データのインデックスは1から始まり、連番で自動管理されます。

***

これでAPIの仕様が明確に伝わるはずです！他に追加情報が必要であれば教えてください。
