# 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の仕様が明確に伝わるはずです！他に追加情報が必要であれば教えてください。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.mixeder.net/mixederpublicapis/apirifarensu/json-database-api-v2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
