API ReferenceTalon Studio v1.0.2-beta
Cases
List SOC cases, promote alerts into them, and read a case with its full timeline.
List cases
GET
/api/v1/casescases:readList a workspace's SOC cases, newest first.
Query parameters
Response
Returned as { data: [...] }, at most 100 rows, ordered by createdAt descending. There are no pagination parameters — use the status filter to narrow.
Promote alert to case
POST
/api/v1/casescases:writePromote an alert candidate into a SOC case — or into an existing open or investigating case it correlates with. Not available on the Community Edition: cases:write is a write scope and needs an Enterprise licence.
Request body
Response
Returns 201 Created. An alert that isn't in candidate status returns 409 ("Candidate is already promoted" or "… dismissed"); a candidateId from another workspace gets a uniform 404 "Alert not found". Recorded in the audit log as api.case.promoted.
Correlation folding
An alert's entity is the first of dest, user, src or host present in its metadata. If an open or investigating case in the workspace already groups the same detection and entity, the alert folds into that case instead of opening a new one, and every other still-candidate alert sharing that key is promoted into it too. Folding also crosses the mapped/unmapped line on the same entity: an alert mapped to a detection joins an existing unmapped case for that entity, and an unmapped alert (most XDR detects) joins any open or investigating case for that entity — so the returned id may be a pre-existing case mapped to a different detection. Two different detections on the same entity stay separate cases. A new case is sent to the SOC notification destinations; a new high or critical case is also sent to the enabled Slack and Teams notification integrations that subscribe to the soc_case event. Folding into an existing case sends nothing.
Get case
GET
/api/v1/cases/{id}cases:readFetch one case with its activity timeline, correlated alerts and linked workboard card.
Path parameters
Query parameters
Response
Returned as { data: { … } }. A case id outside the resolved workspace gets a uniform 404 "Case not found", so ids can't be probed.