---
title: OpenLM Router API リファレンス
description: OpenLM Platform 環境でフェイルオーバーに使う OpenLM Router の REST エンドポイントと、それぞれが返す内容およびその読み方。
product: OpenLM Platform
---

このページは、OpenLM Router のインストールをスクリプト化するときや、レスポンスの意味を知りたいときに使用します。ここに記載した内容はすべて Router 自体からも取得できます。また、このセクションの各ページでは、それぞれの呼び出しを、関連する作業の中で紹介しています。

## Router の API ブラウザー

すべての Router は、実行中のビルドから生成されたインタラクティブなリファレンスを、次のアドレスで提供しています。

```text
http://<router-host>:8100/swagger
```

リクエストとレスポンスのスキーマは、こちらで確認してください。文書として書かれたページとは違い、内容が古くなることがありません。次の表は、フェイルオーバーに関係するエンドポイントの見取り図であり、このリファレンスに代わるものではありません。

:::warning[これらのポートは管理用ネットワーク内に限定してください]

ポート `8100` と `8101` は管理用のインターフェイスです。アクセスは管理用ネットワークからのみに限定し、インターネットには公開しないでください。公開するのは、クライアントが使用するライセンスポートだけにしてください。[システム要件](https://www.openlm.com/documentation/ja/cloud/deployment-operations/router/system-requirements)を参照してください。

:::

## フェイルオーバーのエンドポイント

フェイルオーバーのエンドポイントと、それぞれの動作を次の表に示します。

| メソッド | パス | 動作 |
| --- | --- | --- |
| `GET` | `/api/v1/status` | すべてのペアの状態。使用中のサーバー、両方のサーバーのヘルス、最近のフェイルオーバーを返します。`configurationManagement` は、この Router の `routerId` と、OpenLM Platform との最後の同期を報告します。 |
| `GET` | `/api/v1/config` | Router が OpenLM Platform から取得したルーティング構成。読み取り専用です。構成は OpenLM Platform で変更します。 |
| `GET` | `/api/v1/platform/servers` | OpenLM Platform スナップショットに含まれるライセンスサーバーで、すべての `serverId` の取得元です。スナップショットが存在するまでは `503` を返します。 |
| `GET` | `/api/v1/admission-controller/platform-credentials` | 保存されている OpenLM Platform 接続を読み出します。シークレットはマスクされます。 |
| `PUT` | `/api/v1/admission-controller/platform-credentials` | OpenLM Platform 接続を保存します。 |
| `POST` | `/api/v1/admission-controller/platform-credentials/check-connection` | 本文の認証情報をテストします。`clientSecret` が空または `***` の場合は、保存済みの認証情報をテストします。 |
| `POST` | `/api/v1/failover/manual` | ペアをバックアップへ移します。`pairId` と、履歴用の任意の `message` を受け取ります。 |
| `POST` | `/api/v1/failback` | ペアをプライマリへ戻します。 |
| `GET` | `/readyz` | 詳細付きの準備状態。どのポートがバインドされ、どのポートが必要とされているかを示します。Router が構成を取得するまでは `503` を返します。 |
| `GET` | `/health/ready`、`/health/live`、`/health/start` | OpenLM 標準のヘルスエンベロープ。 |

Router は、フェイルオーバー以外の機能のためのエンドポイントも公開しています。それらはここでは扱わず、フェイルオーバーのデプロイには必要ありません。

## レスポンスを読む

次のセクションでは、Router の主なレスポンスの読み方を説明します。

### 構成が反映されたことを確認する

構成が適用されていないのか、ネットワークの問題なのかを切り分けるには、`/readyz` を呼び出します。

```json
{
  "appliedGeneration": 1,
  "latestGeneration": 1,
  "boundPorts": [27000],
  "desiredPorts": [27000],
  "failoverRoleConverged": true
}
```

`boundPorts` が `desiredPorts` と一致していれば、すべてのペアのリッスンポートが開いています。`desiredPorts` にあって `boundPorts` にないポートは、ペアは受け付けられたものの、そのポートを開けなかったことを示します。通常は、別のプロセスがすでにそのポートを使用しているためです。

`appliedGeneration` が `latestGeneration` より遅れている場合、構成の変更は受け付けられたものの、適用されていません。数秒以内に追いつきます。

### 結果を見分ける

主なレスポンスと、その意味を次の表に示します。

| レスポンス | 意味 |
| --- | --- |
| `/api/v1/platform/servers` からの `503` | OpenLM Platform との同期がまだ一度も成功していないか、10 分間成功していません。新しいデプロイでは、OpenLM Platform 接続が機能していないことを示します。正常に動作していた Router では、同期が失敗しているか（`/api/v1/status` の `lastFailure` に表示されます）、Router がジョブスケジュールを失っていて再起動が必要です。 |
| `check-connection` からの `200` と `"status": "Failed"` | 認証情報が拒否されました。このエンドポイントは判定を本文で返すため、HTTP コードではなく `status` を確認してください。 |
| `/api/v1/failover/manual` からの `409` `"Already on backup"` | ペアがバックアップ上にあるか、`pairId` が存在しないか、ペアにバックアップがありません。Router は 3 つとも同じように応答します。ペアがすでに切り替わったと判断する前に、`/api/v1/config` で名前とバックアップを確認してください。 |

### OpenLM Platform との同期を確認する

Router が OpenLM Platform から構成を取得しているかどうかを確認するには、`GET /api/v1/status` の `configurationManagement` ブロックを読み取ります。OpenLM Platform 接続を構成する前は、次のようになります。

```json
"configurationManagement": {
  "shape": "serviceManaged",
  "routerId": "15ec9751-826b-44ab-a313-43441b9eaed5",
  "lastSync": {
    "lastSuccessfulSync": null,
    "lastAppliedConfigVersion": null,
    "lastFailure": "No Platform connection is configured, so the Router has no address for the LicOps Configuration service",
    "lastFailureAt": "2026-10-05T08:21:31.4659468Z"
  }
}
```

このブロックのフィールドを、次の表に示します。同期が失敗している場合は、[トラブルシューティング](https://www.openlm.com/documentation/ja/cloud/deployment-operations/router/troubleshooting)を参照してください。

| フィールド | 内容 |
| --- | --- |
| `routerId` | OpenLM Platform がこの Router を識別するための ID。初回起動時に作成され、MongoDB に保存されます。 |
| `lastSuccessfulSync` | Router が最後に OpenLM Platform と同期した日時。この値が進まない場合、Router は OpenLM Platform と通信できていません。 |
| `lastAppliedConfigVersion` | この Router が実行している OpenLM Platform 構成のバージョン。 |
| `lastFailure`、`lastFailureAt` | 現在の同期の問題と、その発生日時。同期に成功すると両方ともクリアされるため、ここに値がある場合は過去の履歴ではなく、現在起きている問題です。 |

## 関連項目

- [OpenLM Router を運用する](https://www.openlm.com/documentation/ja/cloud/deployment-operations/router/operations)
- [OpenLM Router のトラブルシューティング](https://www.openlm.com/documentation/ja/cloud/deployment-operations/router/troubleshooting)
