/api/v1/
├── auth/
│ ├── POST /oauth/redirect # Discord OAuth リダイレクト URL 発行
│ ├── POST /oauth/callback # OAuth コールバック・セッション発行
│ ├── POST /logout # ログアウト
│ ├── POST /session/refresh # セッション更新
│ ├── POST /passkey/register # パスキー登録
│ ├── POST /passkey/verify # パスキー認証
│ ├── POST /totp/setup # TOTP セットアップ
│ ├── POST /totp/verify # TOTP 認証
│ ├── POST /device/register # デバイスフィンガープリント登録
│ ├── POST /emergency/request # 緊急キー申請(本人)
│ ├── POST /emergency/issue/:id # 緊急キー発行(管理者)
│ ├── POST /emergency/verify # 緊急キー使用・検証
│ └── POST /permanent-delete-token # 完全削除用確認トークン発行(管理者・WebUI のみ)
│
├── members/
│ ├── GET / # メンバー一覧
│ ├── POST / # メンバー登録(管理者)
│ ├── GET /:id # メンバー詳細
│ ├── PATCH /me # 自分のプロフィール編集
│ ├── PATCH /:id # メンバー編集(管理者)
│ ├── DELETE /:id # メンバー退会処理(管理者・ソフトデリート)
│ ├── GET /:id/roles # メンバーロール取得
│ ├── PUT /:id/roles # メンバーロール更新(管理者)
│ ├── GET /:id/discord-accounts # Discord アカウント一覧
│ ├── GET /me/login-history # 自分のログイン履歴
│ ├── GET /me/notification-settings # 自分のログイン通知設定
│ └── PATCH /me/notification-settings # ログイン通知設定変更
│
├── venues/
│ ├── GET / # 会場一覧
│ ├── POST / # 会場作成(副管理者以上)
│ ├── GET /:id # 会場詳細
│ ├── PATCH /:id # 会場編集(副管理者以上)
│ └── DELETE /:id # 会場削除(管理者・ソフトデリート)
│
├── sessions/
│ ├── GET / # 活動セッション一覧
│ ├── POST / # 活動登録(副管理者以上・全メンバーの attendance_plans を自動生成)
│ ├── GET /:id # 活動詳細
│ ├── PATCH /:id # 活動編集(副管理者以上)
│ ├── DELETE /:id # 活動削除(管理者・ソフトデリート)
│ ├── GET /:id/attendance-plans # 出欠予定一覧
│ ├── POST /:id/attendance-plans/bulk # 出欠予定一括作成(副管理者以上)
│ ├── PATCH /:id/attendance-plans/me # 自分の出欠予定変更
│ ├── PATCH /:id/attendance-plans/:member_id # メンバーの出欠予定変更(副管理者以上)
│ ├── GET /:id/attendance-records # 出席実績一覧
│ ├── POST /:id/attendance-records/me # 自分の出席実績登録
│ ├── POST /:id/attendance-records/:member_id # メンバーの出席実績登録(副管理者以上)
│ ├── PATCH /:id/attendance-records/me # 自分の出席実績変更
│ └── PATCH /:id/attendance-records/:member_id # メンバーの出席実績変更(副管理者以上)
│
├── tasks/
│ ├── GET / # 作業一覧
│ ├── POST / # 作業作成(全メンバー)
│ ├── GET /:id # 作業詳細
│ ├── PATCH /:id # 作業編集(全メンバー)
│ ├── DELETE /:id # 作業削除(ソフトデリート・全メンバー)
│ ├── POST /:id/restore # 削除済み作業の復元(全メンバー)
│ ├── GET /deleted # 削除済み作業一覧(管理者)
│ ├── DELETE /:id/permanent # 作業完全削除(管理者・WebUI のみ)
│ ├── GET /:id/children # 子作業一覧
│ ├── GET /:id/progress # 進捗取得
│ ├── GET /:id/assignments # 担当者一覧
│ ├── PUT /:id/assignments # 担当者更新(全メンバー)
│ ├── GET /:id/dependencies # 依存関係取得
│ ├── POST /:id/dependencies # 依存関係追加
│ ├── DELETE /:id/dependencies/:dep_id # 依存関係削除
│ ├── GET /:id/memos # メモ一覧
│ ├── POST /:id/memos # メモ追加
│ ├── PATCH /:id/memos/:memo_id # メモ編集
│ ├── DELETE /:id/memos/:memo_id # メモ削除(ソフトデリート)
│ ├── GET /:id/history # 進捗履歴
│ ├── GET /:id/sessions # 紐付き活動セッション
│ ├── POST /:id/sessions # 活動セッション紐付け追加
│ ├── PATCH /:id/sessions/:session_id # 紐付け編集
│ └── DELETE /:id/sessions/:session_id # 紐付け削除
│
├── procedures/
│ ├── GET /templates # テンプレート一覧
│ ├── POST /templates # テンプレート作成(全メンバー)
│ ├── GET /templates/:id # テンプレート詳細
│ ├── PATCH /templates/:id # テンプレート編集(全メンバー)
│ ├── DELETE /templates/:id # テンプレート削除(ソフトデリート・全メンバー)
│ ├── POST /templates/:id/restore # テンプレート復元(全メンバー)
│ ├── DELETE /templates/:id/permanent # テンプレート完全削除(管理者・WebUI のみ)
│ ├── GET /templates/:id/steps # ステップ一覧
│ ├── POST /templates/:id/steps # ステップ追加
│ ├── PATCH /templates/:id/steps/:step_id # ステップ編集
│ ├── DELETE /templates/:id/steps/:step_id # ステップ削除
│ ├── GET /templates/:id/steps/:step_id/transitions # 遷移一覧
│ ├── POST /templates/:id/steps/:step_id/transitions # 遷移追加
│ ├── PATCH /templates/:id/steps/:step_id/transitions/:tid # 遷移編集
│ ├── DELETE /templates/:id/steps/:step_id/transitions/:tid # 遷移削除
│ ├── GET /templates/:id/results # 結果定義一覧
│ ├── POST /templates/:id/results # 結果定義追加
│ ├── PATCH /templates/:id/results/:result_id # 結果定義編集
│ ├── DELETE /templates/:id/results/:result_id # 結果定義削除
│ ├── GET /instances # 手順実績一覧
│ ├── POST /instances # 手順実績作成(全メンバー)
│ ├── GET /instances/:id # 手順実績詳細
│ ├── DELETE /instances/:id # 手順実績削除(ソフトデリート・全メンバー)
│ ├── POST /instances/:id/restore # 手順実績復元
│ ├── DELETE /instances/:id/permanent # 手順実績完全削除(管理者・WebUI のみ)
│ ├── GET /deleted # 削除済み一覧(管理者)
│ ├── GET /instances/:id/steps # 手順実績ステップ一覧
│ └── PATCH /instances/:id/steps/:step_id # ステップ結果更新(全メンバー)
│
├── notifications/
│ ├── GET /rules # 通知ルール一覧(副管理者以上)
│ ├── POST /rules # 通知ルール作成(副管理者以上)
│ ├── GET /rules/:id # 通知ルール詳細(副管理者以上)
│ ├── PATCH /rules/:id # 通知ルール編集(副管理者以上)
│ ├── DELETE /rules/:id # 通知ルール削除(副管理者以上)
│ ├── GET /rules/:id/timings # タイミング一覧(副管理者以上)
│ ├── POST /rules/:id/timings # タイミング追加(副管理者以上)
│ ├── PATCH /rules/:id/timings/:tid # タイミング編集(副管理者以上)
│ └── DELETE /rules/:id/timings/:tid # タイミング削除(副管理者以上)
│
├── urls/
│ ├── POST / # URL 追加
│ ├── PATCH /:id # URL 編集
│ └── DELETE /:id # URL 削除(ソフトデリート)
│
└── admin/
├── GET /members # 全メンバー一覧(管理者)
├── GET /deleted # 削除済みメンバー一覧(管理者)
├── GET /roles/team # チームロール一覧
├── POST /roles/team # チームロール作成(管理者)
├── PATCH /roles/team/:id # チームロール編集(管理者)
├── DELETE /roles/team/:id # チームロール削除(管理者)
├── GET /roles/task # 作業ロール一覧
├── POST /roles/task # 作業ロール作成(管理者)
├── PATCH /roles/task/:id # 作業ロール編集(管理者)
└── DELETE /roles/task/:id # 作業ロール削除(管理者)