# HTTP / WebSocket API リファレンス

rippledサーバの公開APIを通じて、XRP Ledgerと通信することができます。

現在、APIにはバージョン1とバージョン2の2種類があります新規: rippled 2.0.0。 サーバは、[`version` APIメソッド](/ja/docs/references/http-websocket-apis/public-api-methods/server-info-methods/version)を通じてサポートされているAPIバージョンの範囲を通知します。APIリクエストで使用するバージョンを指定できます。

同じ持続的な接続で、異なるAPIリクエストで異なるAPIバージョンを使用できます。例えば、WebSocketを通じて、APIバージョン1と2をサポートするサーバに接続した場合、同じ接続からAPIバージョン2を使用して`account_tx`リクエストを行い、その後、APIバージョン1を使用してもう1つの`account_tx`リクエストを行うことができます。

## デフォルトのAPIバージョン

以下の表は、リクエストでAPIバージョンを指定しない場合に使用される`rippled` APIのバージョンを示しています。

| リクエスト方式 | APIバージョン | 追加の注意事項 |
|  --- | --- | --- |
| Websocket | 1 |  |
| JSON-RPC | 1 |  |
| Commandline | 2 | コマンドラインでは、最新のAPIバージョンのみが使用されます。 |
| [xrpl.js](https://github.com/XRPLF/xrpl.js) | 2 | v4.0.0以降では、[API v2](/ja/docs/references/http-websocket-apis)がデフォルトで使用されます。 |
| [xrpl-py](https://github.com/XRPLF/xrpl-py) | 2 | v3.0.0以降では、[API v2](/ja/docs/references/http-websocket-apis)がデフォルトで使用されます。 |


注記
Clioは、[API v1](/ja/docs/references/http-websocket-apis)をデフォルトで使用しますが、[API v2](/ja/docs/references/http-websocket-apis)のリクエストもサポートしています。

`rippled`の将来のバージョンでは、破壊的な変更を導入すると、APIバージョン3が導入されます。

### 破壊的な変更

以下のタイプの変更は、**破壊的な変更**です。

- リクエストまたはレスポンスのフィールドを削除または変更する。
- リクエストまたはレスポンスのフィールドの型を変更する。
- リクエストまたはレスポンスのフィールドの意味を変更する。
- 位置パラメータの順序を変更する、または他の位置パラメータの前に新しいフィールドを追加する。
- APIメソッドを削除または変更する。
- 既存のクライアントからアクセス可能なAPI関数の動作を変更する。
- 以下のタイプの破壊的な変更は、gRPC APIにのみ適用されます。
  - `proto`フィールド番号を変更する。
  - 列挙型または列挙型の値を削除または変更する。
  - `oneof`にフィールドを追加または削除する。
  - `oneof`を分割またはマージする。
  - メッセージフィールドが`optional`、`repeated`、または`required`であるかどうかを変更する。
  - リクエストまたはレスポンスのストリーム値を変更する。
  - パッケージまたはサービスを削除または変更する。


いずれかのリリースで破壊的な変更が導入されると、新しいAPIバージョン番号が導入されます。プレリリース、ベータ、開発バージョンは、同じAPIバージョン番号に対して破壊的な変更を導入する場合があります。

### 非破壊的な変更

以下のタイプの変更は、**非破壊的な変更**です。APIバージョン番号の変更なしに発生する可能性があります。

- リクエストまたはレスポンスに新しいフィールドを追加する（位置パラメータを除く）。
- APIメソッドを追加する。