指定したシナリオの詳細情報を取得します。
新API: RESTful命名統一に基づく推奨エンドポイント
旧エンドポイント /api/scenario/{id}
は非推奨です。
注意: レスポンス形式は旧APIと完全に同一です。
id required | string <uuid> 取得するシナリオのUUID |
{- "id": "550e8400-e29b-41d4-a716-446655440000",
- "title": "失われた遺跡の謎",
- "overview": "古代遺跡を探索する冒険シナリオ",
- "visibility": "public",
- "updatedAt": "2025-04-01T12:00:00Z"
}
指定したユーザのシナリオを作成
uid required | string |
id required | string |
title required | string |
overview required | string |
visibility | string Default: "private" Enum: "public" "private" シナリオの公開設定(省略時はprivate) |
{- "id": "string",
- "title": "string",
- "overview": "string",
- "visibility": "public"
}
{- "message": "string"
}
Neo4jにシナリオノードを作成または更新(RDBでの作成・更新後に呼び出し)
id required | string シナリオID (UUID) |
title required | string [ 1 .. 100 ] characters シナリオタイトル(冗長データ) |
overview required | string [ 1 .. 1000 ] characters シナリオ概要(冗長データ) |
{- "title": "string",
- "overview": "string"
}
{- "id": "string",
- "title": "string",
- "overview": "string"
}
Neo4jにシーンノードを作成または更新し、親シナリオとの関係性を構築
id required | string シーンID (UUID) |
title required | string [ 1 .. 100 ] characters シーンタイトル |
overview required | string [ 1 .. 1000 ] characters シーン概要 |
scenarioId required | string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]... 親シナリオID (UUID) |
order required | integer >= 0 シーン順序 (0以上) |
{- "title": "string",
- "overview": "string",
- "scenarioId": "string",
- "order": 0
}
{- "id": "string",
- "title": "string",
- "overview": "string",
- "scenarioId": "string",
- "order": 0
}
指定されたシナリオに関連するGraphDBシーン一覧を順序順で取得
scenarioId required | string^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]... シナリオID (UUID) |
[- {
- "id": "string",
- "title": "string",
- "overview": "string",
- "scenarioId": "string",
- "order": 0,
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
Neo4jで指定シナリオの全シーンを削除後、新しいシーン配列で一括再構築します。楽観的更新との組み合わせでUX向上を図ります。
scenarioId required | string <uuid> シナリオID (UUID) |
required | Array of objects 更新するシーン配列(全て再構築) |
{- "scenes": [
- {
- "id": "temp_123e4567-e89b-12d3-a456-426614174000",
- "title": "オープニング",
- "overview": "冒険の始まり",
- "order": 0
}, - {
- "title": "戦闘シーン",
- "overview": "モンスターとの戦い",
- "order": 1
}
]
}
{- "scenes": [
- {
- "id": "123e4567-e89b-12d3-a456-426614174001",
- "title": "オープニング",
- "overview": "冒険の始まり",
- "order": 0,
- "scenarioId": "550e8400-e29b-41d4-a716-446655440000",
- "createdAt": "2025-08-03T10:00:00Z",
- "updatedAt": "2025-08-03T10:00:00Z"
}, - {
- "id": "123e4567-e89b-12d3-a456-426614174002",
- "title": "戦闘シーン",
- "overview": "モンスターとの戦い",
- "order": 1,
- "scenarioId": "550e8400-e29b-41d4-a716-446655440000",
- "createdAt": "2025-08-03T10:00:00Z",
- "updatedAt": "2025-08-03T10:00:00Z"
}
], - "summary": {
- "totalScenes": 2,
- "message": "シーンが正常に一括更新されました"
}
}
公開セッションの一覧を取得するエンドポイント。 GMがリクエストする場合は、GM IDをクエリパラメータで指定することで、自分の非公開セッションも含めて取得できます。
gmId | string GM ID (指定すると、そのGMのセッションのみを取得) |
[- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "name": "未知の洞窟探検",
- "gm": "マスター太郎",
- "gmId": "user123",
- "players": 0,
- "maxPlayers": 5,
- "status": "準備中",
- "scenarioId": "550e8400-e29b-41d4-a716-446655440001",
- "scenarioTitle": "失われた遺跡の秘宝",
- "createdAt": "2025-04-01T12:00:00Z",
- "updatedAt": "2025-04-01T12:00:00Z"
}
]
GMがシナリオを選択して新しいセッションを作成するためのエンドポイント。 作成したセッションはGMが管理し、参加者を招待できます。
gmId required | string セッションを管理するGMのユーザーID |
scenarioId required | string <uuid> セッションのベースとなるシナリオID |
title required | string セッションのタイトル |
{- "gmId": "user123",
- "scenarioId": "550e8400-e29b-41d4-a716-446655440001",
- "title": "未知の洞窟探検"
}
{- "id": "550e8400-e29b-41d4-a716-446655440000",
- "gmId": "user123",
- "scenarioId": "550e8400-e29b-41d4-a716-446655440001",
- "title": "未知の洞窟探検",
- "status": "準備中",
- "createdAt": "2025-04-01T12:00:00Z"
}
特定のセッションの詳細情報を取得します。 セッションのタイトル、ステータス、関連するシナリオ情報などが含まれます。
id required | string <uuid> 取得するセッションのID |
{- "id": "550e8400-e29b-41d4-a716-446655440000",
- "gmId": "user123",
- "scenarioId": "550e8400-e29b-41d4-a716-446655440001",
- "title": "未知の洞窟探検",
- "status": "準備中",
- "createdAt": "2025-04-01T12:00:00Z",
- "updatedAt": "2025-04-01T12:00:00Z",
- "scenarioTitle": "失われた遺跡の秘宝"
}
ゲームマスター(GM)として新しいセッションを作成します。
新API: Game Master文脈特化に基づく推奨エンドポイント
旧エンドポイント POST /api/sessions
は非推奨です。
権限: GMとしての認証が必要です。パラメータのuidと認証トークンのuidが一致している必要があります。
uid required | string ゲームマスターのユーザーID |
作成するセッションの情報
scenarioId required | string <uuid> 使用するシナリオのID |
title required | string [ 1 .. 255 ] characters セッションのタイトル |
{- "scenarioId": "87654321-4321-4321-4321-cba987654321",
- "title": "初心者歓迎!クトゥルフの呼び声"
}
{- "id": "abcdef12-3456-7890-abcd-ef1234567890",
- "gmId": "12345678-1234-1234-1234-123456789abc",
- "scenarioId": "87654321-4321-4321-4321-cba987654321",
- "title": "初心者歓迎!クトゥルフの呼び声",
- "status": "準備中",
- "createdAt": "2025-08-12T09:30:00Z"
}
指定したゲームマスターが作成・管理しているセッション一覧を取得します。
新API: RESTful命名統一・文脈特化に基づく推奨エンドポイント
旧エンドポイント /api/sessions/gm/{gm_id}
は非推奨です。
注意: レスポンス形式は旧APIと完全に同一です。
uid required | string ゲームマスターのユーザーID |
[- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "title": "失われた遺跡の謎",
- "status": "準備中",
- "scenarioId": "660e8400-e29b-41d4-a716-446655440001",
- "scenarioTitle": "古代遺跡探索",
- "createdAt": "2025-04-01T10:00:00Z",
- "updatedAt": "2025-04-01T12:00:00Z"
}
]
ゲームマスターが自身が管理するセッションの状態を更新します。
新API: ロール名統一(gm → game-masters)に基づく推奨エンドポイント
旧エンドポイント /api/gm/{uid}/sessions/{id}
は非推奨です。
注意: レスポンス形式は旧APIと完全に同一です。
uid required | string ゲームマスターのユーザーID |
id required | string <uuid> セッションID(UUID形式) |
status required | string Enum: "準備中" "進行中" "終了" 更新後のセッション状態 |
{- "status": "進行中"
}
{- "id": "550e8400-e29b-41d4-a716-446655440000",
- "gm_id": "test-gm-id",
- "scenario_id": "660e8400-e29b-41d4-a716-446655440001",
- "title": "失われた遺跡の謎",
- "status": "進行中",
- "created_at": "2025-04-01T10:00:00Z",
- "updated_at": "2025-04-01T12:00:00Z",
- "scenario_title": "古代遺跡探索"
}
ゲームマスター(GM)として新しいセッションを作成します。
新API: Game Master文脈特化に基づく推奨エンドポイント
旧エンドポイント POST /api/sessions
は非推奨です。
権限: GMとしての認証が必要です。パラメータのuidと認証トークンのuidが一致している必要があります。
uid required | string ゲームマスターのユーザーID |
作成するセッションの情報
scenarioId required | string <uuid> 使用するシナリオのID |
title required | string [ 1 .. 255 ] characters セッションのタイトル |
{- "scenarioId": "87654321-4321-4321-4321-cba987654321",
- "title": "初心者歓迎!クトゥルフの呼び声"
}
{- "id": "abcdef12-3456-7890-abcd-ef1234567890",
- "gmId": "12345678-1234-1234-1234-123456789abc",
- "scenarioId": "87654321-4321-4321-4321-cba987654321",
- "title": "初心者歓迎!クトゥルフの呼び声",
- "status": "準備中",
- "createdAt": "2025-08-12T09:30:00Z"
}
指定したゲームマスターが作成・管理しているセッション一覧を取得します。
新API: RESTful命名統一・文脈特化に基づく推奨エンドポイント
旧エンドポイント /api/sessions/gm/{gm_id}
は非推奨です。
注意: レスポンス形式は旧APIと完全に同一です。
uid required | string ゲームマスターのユーザーID |
[- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "title": "失われた遺跡の謎",
- "status": "準備中",
- "scenarioId": "660e8400-e29b-41d4-a716-446655440001",
- "scenarioTitle": "古代遺跡探索",
- "createdAt": "2025-04-01T10:00:00Z",
- "updatedAt": "2025-04-01T12:00:00Z"
}
]
ゲームマスターが自身が管理するセッションの状態を更新します。
新API: ロール名統一(gm → game-masters)に基づく推奨エンドポイント
旧エンドポイント /api/gm/{uid}/sessions/{id}
は非推奨です。
注意: レスポンス形式は旧APIと完全に同一です。
uid required | string ゲームマスターのユーザーID |
id required | string <uuid> セッションID(UUID形式) |
status required | string Enum: "準備中" "進行中" "終了" 更新後のセッション状態 |
{- "status": "進行中"
}
{- "id": "550e8400-e29b-41d4-a716-446655440000",
- "gm_id": "test-gm-id",
- "scenario_id": "660e8400-e29b-41d4-a716-446655440001",
- "title": "失われた遺跡の謎",
- "status": "進行中",
- "created_at": "2025-04-01T10:00:00Z",
- "updated_at": "2025-04-01T12:00:00Z",
- "scenario_title": "古代遺跡探索"
}
シナリオ作成者(Author)として新しいシナリオを作成します。
新API: Author文脈特化に基づく推奨エンドポイント
旧エンドポイント /api/users/{uid}/scenario
は非推奨です。
注意: レスポンス形式は旧APIと完全に同一です。
uid required | string シナリオ作成者(Author)のユーザーID |
id required | string <uuid> シナリオID(UUID形式) |
title required | string [ 1 .. 100 ] characters シナリオタイトル |
overview required | string [ 1 .. 1000 ] characters シナリオ概要 |
visibility | string Default: "private" Enum: "public" "private" シナリオの公開設定(省略時はprivate) |
{- "id": "550e8400-e29b-41d4-a716-446655440000",
- "title": "失われた遺跡の謎",
- "overview": "古代文明の謎を解き明かす冒険シナリオ",
- "visibility": "private"
}
{- "message": "シナリオが正常に作成されました"
}
指定したシナリオ作成者(Author)が作成・管理しているシナリオ一覧を取得します。
新API: Author文脈特化に基づく推奨エンドポイント
旧エンドポイント /api/users/{uid}/scenario
は非推奨です。
注意: レスポンス形式は旧APIと完全に同一です。
uid required | string シナリオ作成者(Author)のユーザーID |
[- {
- "id": "550e8400-e29b-41d4-a716-446655440000",
- "title": "失われた遺跡の謎",
- "overview": "古代文明の謎を解き明かす冒険シナリオ",
- "visibility": "private",
- "updatedAt": "2025-04-01T12:00:00Z"
}, - {
- "id": "660e8400-e29b-41d4-a716-446655440001",
- "title": "都市の陰謀",
- "overview": "現代都市を舞台とした政治陰謀シナリオ",
- "visibility": "public",
- "updatedAt": "2025-04-01T10:00:00Z"
}
]
シナリオ作成者(Author)として自身が作成したシナリオを更新します。
新API: Author文脈特化に基づく推奨エンドポイント
旧エンドポイント /api/users/{uid}/scenario/{id}
は非推奨です。
注意: レスポンス形式は旧APIと完全に同一です。
uid required | string シナリオ作成者(Author)のユーザーID |
id required | string <uuid> シナリオID(UUID形式) |
title required | string [ 1 .. 100 ] characters シナリオタイトル |
overview required | string [ 1 .. 1000 ] characters シナリオ概要 |
visibility | string Enum: "public" "private" シナリオの公開設定 |
updatedAt | string <date-time> 更新日時(通常は自動設定される) |
{- "title": "失われた遺跡の謎(改訂版)",
- "overview": "古代文明の謎を解き明かす冒険シナリオ。新たな展開を追加。",
- "visibility": "private"
}
{- "message": "必須フィールドが不足しています"
}