コンテンツにスキップ

ケース API

共通仕様

認証・エラー形式・レート制限・共通ヘッダーは API 概要・認証 を参照してください。

セキュリティインシデント(ケース)を管理する API である。


ケース一覧取得

GET /api/user/<user_id>/messages/

クエリパラメータ:

パラメータ 必須 説明
offset integer No ページネーション開始位置
limit integer No 取得件数
dateFrom string No 開始日時(ISO 8601)
dateTo string No 終了日時(ISO 8601)
status string No ステータスフィルタ(Open / In Progress / Resolved / Ignored。大文字・小文字を区別する)
classification string No 分類フィルタ
contained string No 本文検索。ケース本文または返信本文に指定文字列を含むケースに絞り込む(部分一致)
message_id string No 特定メッセージの取得
after string No 指定 ID 以降のメッセージ取得
stats boolean No true でメッセージではなく統計情報を返す

offset と classification の適用範囲

offsetclassification による一覧の絞り込みは、コア API(/api/v2/user/<user_id>/messages/)で有効である。 管理 API の一覧取得では offset は無視され、classificationstats=true の統計にのみ適用される。

リクエスト例:

curl "https://<your-domain>/api/user/<user_id>/messages/?status=open&limit=20" \
  -H "Cookie: jwt=<token>"

レスポンス例:

{
  "messages": [
    {
      "id": "msg-001",
      "title": "Brute Force Attack Detected",
      "status": "open",
      "classification": "intrusion-attempt",
      "created_at": "2025-01-15T10:30:00Z",
      "tags": { "severity": "high", "source": "firewall" }
    }
  ],
  "total": 150,
  "offset": 0,
  "limit": 20
}

統計情報の取得

stats=true を指定すると、ケースの統計情報が返る。

curl "https://<your-domain>/api/user/<user_id>/messages/?stats=true" \
  -H "Cookie: jwt=<token>"

ケース作成

POST /api/user/<user_id>/messages/

リクエストボディ:

{
  "title": "Suspicious Login Activity",
  "description": "Multiple failed login attempts from IP 10.0.0.50",
  "status": "open",
  "classification": "intrusion-attempt",
  "tags": {
    "severity": "high",
    "affected_system": "auth-server"
  }
}

ケース更新

PATCH /api/user/<user_id>/messages/

リクエストボディ:

{
  "message_id": "msg-001",
  "status": "inprogress",
  "tags": {
    "assigned_to": "analyst-01"
  }
}

ケース削除

DELETE /api/user/<user_id>/messages/

リクエストボディ:

{
  "message_id": "msg-001"
}

類似ケース検索

過去の類似ケースを検索する。 ケース本文の類似度を similarity_score として返す。

GET /api/user/<user_id>/messages/<message_id>/similar/

レスポンス例:

{
  "similar_cases": [
    {
      "id": "msg-042",
      "title": "Brute Force from External IP",
      "similarity_score": 0.92,
      "status": "resolved"
    }
  ]
}

対応推奨

関連するケースや Dashboard を提示する。 類似度とアクセス履歴を重み付けで合成したスコアにもとづく。

GET /api/user/<user_id>/messages/<case_id>/recommend/

コア API での取得

GET /api/v2/user/<user_id>/messages/

管理 API と同じクエリパラメータに対応する。 大量データの取得時に応答が速い。


タグフィルタ

X-SOCEngine-Tags ヘッダーでタグベースのフィルタリングができる。

curl "https://<your-domain>/api/user/<user_id>/messages/" \
  -H "Cookie: jwt=<token>" \
  -H "X-SOCEngine-Tags: {\"severity\": \"high\"}"