エンドポイント

4.1 エンドポイント一覧

適合するサービスは、必須とされたすべてのエンドポイントを実装しなければならない。任意のエンドポイントは実装してもよく、その場合はサービス記述の機能フラグで示す。

メソッド パス 要件 用途
GET /.well-known/lmsp.json 必須 サービスと機能の発見
GET /lmsp/v1/openapi.json 必須 機械可読なインターフェース仕様
GET /lmsp/v1/health 必須 稼働状態と準備状態の確認
POST /lmsp/v1/pair 必須 ペアリングコードをベアラートークンと交換する
GET /lmsp/v1/models 必須 ローカルモデルを一覧する
GET /lmsp/v1/models/{model_id} 必須 モデルを 1 つ取得する
POST /lmsp/v1/responses 必須 同期生成またはストリーミング生成
GET /lmsp/v1/responses/{response_id} 任意 保存済みのレスポンスを取得する
POST /lmsp/v1/tasks 必須 非同期の生成タスクを作成する
GET /lmsp/v1/tasks/{task_id} 必須 非同期タスクを取得する
POST /lmsp/v1/tasks/{task_id}/cancel 必須 非同期タスクをキャンセルする
GET /lmsp/v1/tasks/{task_id}/events 任意 イベントストリームを購読または再開する
POST /lmsp/v1/models/{model_id}/load 任意 モデルを事前ロードする
POST /lmsp/v1/models/{model_id}/unload 任意 モデルをアンロードする

/v1 配下の OpenAI 互換エンドポイントと、任意の Ollama 互換エンドポイントは第 8 章に挙げている。

4.2 規約

  • 本文。 リクエストとレスポンスの本文は JSON(application/json)である。ただし、イベントストリーム(text/event-stream)とエラー(application/problem+json)は除く。
  • パスパラメーター。 {model_id} のように波括弧で囲んだ名前はプレースホルダーである。値はパーセントエンコードしなければならない。qwen3:14b-q4_k_m のようなモデル ID は qwen3%3A14b-q4_k_m として送る。
  • 認証。 /.well-known/lmsp.json、/lmsp/v1/openapi.json、/lmsp/v1/health、/lmsp/v1/pair を除くすべてのエンドポイントは Authorization: Bearer <token> を必要とする。
  • 任意のエンドポイント。 サービスが実装していない任意のエンドポイントは、エラーコード unsupported_capability を付けて 501 Not Implemented で応答しなければならない。
  • バージョンとエラー。 リクエストはバージョンヘッダーを携えることができ、すべてのエラーは 1 つの形式を使う。どちらも第 9 章で定義している。
  • 契約。 /lmsp/1.0/openapi.json で公開されている OpenAPI ドキュメントは、このページの機械可読な形式である。両者が異なる場合は、本文が規範である。