ケース API
共通仕様
認証・エラー形式・レート制限・共通ヘッダーは API 概要・認証 を参照してください。
セキュリティインシデント(ケース)を管理する API である。
ケース一覧取得
クエリパラメータ:
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
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 の適用範囲
offset と classification による一覧の絞り込みは、コア API(/api/v2/user/<user_id>/messages/)で有効である。
管理 API の一覧取得では offset は無視され、classification は stats=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 を指定すると、ケースの統計情報が返る。
ケース作成
リクエストボディ:
{
"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"
}
}
ケース更新
リクエストボディ:
ケース削除
リクエストボディ:
類似ケース検索
過去の類似ケースを検索する。
ケース本文の類似度を similarity_score として返す。
レスポンス例:
{
"similar_cases": [
{
"id": "msg-042",
"title": "Brute Force from External IP",
"similarity_score": 0.92,
"status": "resolved"
}
]
}
対応推奨
関連するケースや Dashboard を提示する。 類似度とアクセス履歴を重み付けで合成したスコアにもとづく。
コア API での取得
管理 API と同じクエリパラメータに対応する。 大量データの取得時に応答が速い。
タグフィルタ
X-SOCEngine-Tags ヘッダーでタグベースのフィルタリングができる。