Skip to content

Commit a8f9dca

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Document signals triage update endpoints (#3977)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 0e958d9 commit a8f9dca

12 files changed

Lines changed: 1281 additions & 0 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64574,6 +64574,38 @@ components:
6457464574
type: string
6457564575
x-enum-varnames:
6457664576
- SIGNAL
64577+
SecurityMonitoringSignalUpdateAttributes:
64578+
description: Attributes for updating the triage state or assignee of a security signal.
64579+
properties:
64580+
archive_comment:
64581+
$ref: "#/components/schemas/SecurityMonitoringSignalArchiveComment"
64582+
archive_reason:
64583+
$ref: "#/components/schemas/SecurityMonitoringSignalArchiveReason"
64584+
assignee:
64585+
$ref: "#/components/schemas/SecurityMonitoringTriageUser"
64586+
state:
64587+
$ref: "#/components/schemas/SecurityMonitoringSignalState"
64588+
version:
64589+
$ref: "#/components/schemas/SecurityMonitoringSignalVersion"
64590+
type: object
64591+
SecurityMonitoringSignalUpdateData:
64592+
description: Data containing the triage state or assignee update for a security signal.
64593+
properties:
64594+
attributes:
64595+
$ref: "#/components/schemas/SecurityMonitoringSignalUpdateAttributes"
64596+
type:
64597+
$ref: "#/components/schemas/SecurityMonitoringSignalMetadataType"
64598+
required:
64599+
- attributes
64600+
type: object
64601+
SecurityMonitoringSignalUpdateRequest:
64602+
description: Request body for updating the triage state or assignee of a security signal.
64603+
properties:
64604+
data:
64605+
$ref: "#/components/schemas/SecurityMonitoringSignalUpdateData"
64606+
required:
64607+
- data
64608+
type: object
6457764609
SecurityMonitoringSignalVersion:
6457864610
description: Version of the updated signal. If server side version is higher, update will be rejected.
6457964611
format: int64
@@ -64727,6 +64759,33 @@ components:
6472764759
- count
6472864760
- events
6472964761
type: object
64762+
SecurityMonitoringSignalsBulkUpdateData:
64763+
description: Data for updating a single security signal in a bulk update operation.
64764+
properties:
64765+
attributes:
64766+
$ref: "#/components/schemas/SecurityMonitoringSignalUpdateAttributes"
64767+
id:
64768+
description: The unique ID of the security signal.
64769+
example: AAAAAWgN8Xwgr1vKDQAAAABBV2dOOFh3ZzZobm1mWXJFYTR0OA
64770+
type: string
64771+
type:
64772+
$ref: "#/components/schemas/SecurityMonitoringSignalType"
64773+
required:
64774+
- id
64775+
- attributes
64776+
type: object
64777+
SecurityMonitoringSignalsBulkUpdateRequest:
64778+
description: Request body for updating multiple attributes of multiple security signals.
64779+
properties:
64780+
data:
64781+
description: An array of signal updates.
64782+
items:
64783+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkUpdateData"
64784+
maxItems: 199
64785+
type: array
64786+
required:
64787+
- data
64788+
type: object
6473064789
SecurityMonitoringSignalsListResponse:
6473164790
description: "The response object with all security signals matching the request\nand pagination information."
6473264791
properties:
@@ -119533,6 +119592,51 @@ paths:
119533119592
operator: OR
119534119593
permissions:
119535119594
- security_monitoring_signals_write
119595+
/api/v2/security_monitoring/signals/bulk/update:
119596+
patch:
119597+
description: |-
119598+
Update the triage state or assignee of multiple security signals at once.
119599+
The maximum number of signals that can be updated in a single request is 199.
119600+
operationId: BulkEditSecurityMonitoringSignals
119601+
requestBody:
119602+
content:
119603+
application/json:
119604+
schema:
119605+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkUpdateRequest"
119606+
description: Attributes describing the signal updates.
119607+
required: true
119608+
responses:
119609+
"200":
119610+
content:
119611+
application/json:
119612+
schema:
119613+
$ref: "#/components/schemas/SecurityMonitoringSignalsBulkTriageUpdateResponse"
119614+
description: OK
119615+
"400":
119616+
content:
119617+
application/json:
119618+
schema:
119619+
$ref: "#/components/schemas/JSONAPIErrorResponse"
119620+
description: Bad Request
119621+
"403":
119622+
content:
119623+
application/json:
119624+
schema:
119625+
$ref: "#/components/schemas/JSONAPIErrorResponse"
119626+
description: Forbidden
119627+
"429":
119628+
$ref: "#/components/responses/TooManyRequestsResponse"
119629+
security:
119630+
- apiKeyAuth: []
119631+
appKeyAuth: []
119632+
- AuthZ: []
119633+
summary: Bulk update security signals
119634+
tags: ["Security Monitoring"]
119635+
x-codegen-request-body-name: body
119636+
"x-permission":
119637+
operator: OR
119638+
permissions:
119639+
- security_monitoring_signals_write
119536119640
/api/v2/security_monitoring/signals/search:
119537119641
post:
119538119642
description: |-
@@ -119855,6 +119959,58 @@ paths:
119855119959
permissions:
119856119960
- security_monitoring_rules_read
119857119961
- security_monitoring_signals_read
119962+
/api/v2/security_monitoring/signals/{signal_id}/update:
119963+
patch:
119964+
description: |-
119965+
Update the triage state or assignee of a security signal.
119966+
operationId: EditSecurityMonitoringSignal
119967+
parameters:
119968+
- $ref: "#/components/parameters/SignalID"
119969+
requestBody:
119970+
content:
119971+
application/json:
119972+
schema:
119973+
$ref: "#/components/schemas/SecurityMonitoringSignalUpdateRequest"
119974+
description: Attributes describing the signal triage state or assignee update.
119975+
required: true
119976+
responses:
119977+
"200":
119978+
content:
119979+
application/json:
119980+
schema:
119981+
$ref: "#/components/schemas/SecurityMonitoringSignalTriageUpdateResponse"
119982+
description: OK
119983+
"400":
119984+
content:
119985+
application/json:
119986+
schema:
119987+
$ref: "#/components/schemas/JSONAPIErrorResponse"
119988+
description: Bad Request
119989+
"403":
119990+
content:
119991+
application/json:
119992+
schema:
119993+
$ref: "#/components/schemas/JSONAPIErrorResponse"
119994+
description: Forbidden
119995+
"404":
119996+
content:
119997+
application/json:
119998+
schema:
119999+
$ref: "#/components/schemas/JSONAPIErrorResponse"
120000+
description: Not Found
120001+
"429":
120002+
$ref: "#/components/responses/TooManyRequestsResponse"
120003+
security:
120004+
- apiKeyAuth: []
120005+
appKeyAuth: []
120006+
- AuthZ: []
120007+
summary: Update security signal triage state or assignee
120008+
tags: ["Security Monitoring"]
120009+
x-codegen-request-body-name: body
120010+
"x-permission":
120011+
operator: OR
120012+
permissions:
120013+
- security_monitoring_signals_write
119858120014
/api/v2/security_monitoring/terraform/{resource_type}/bulk:
119859120015
post:
119860120016
description: |-

api/datadogV2/api_security_monitoring.go

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,96 @@ func (a *SecurityMonitoringApi) AttachJiraIssue(ctx _context.Context, body Attac
271271
return localVarReturnValue, localVarHTTPResponse, nil
272272
}
273273

274+
// BulkEditSecurityMonitoringSignals Bulk update security signals.
275+
// Update the triage state or assignee of multiple security signals at once.
276+
// The maximum number of signals that can be updated in a single request is 199.
277+
func (a *SecurityMonitoringApi) BulkEditSecurityMonitoringSignals(ctx _context.Context, body SecurityMonitoringSignalsBulkUpdateRequest) (SecurityMonitoringSignalsBulkTriageUpdateResponse, *_nethttp.Response, error) {
278+
var (
279+
localVarHTTPMethod = _nethttp.MethodPatch
280+
localVarPostBody interface{}
281+
localVarReturnValue SecurityMonitoringSignalsBulkTriageUpdateResponse
282+
)
283+
284+
localBasePath, err := a.Client.Cfg.ServerURLWithContext(ctx, "v2.SecurityMonitoringApi.BulkEditSecurityMonitoringSignals")
285+
if err != nil {
286+
return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: err.Error()}
287+
}
288+
289+
localVarPath := localBasePath + "/api/v2/security_monitoring/signals/bulk/update"
290+
291+
localVarHeaderParams := make(map[string]string)
292+
localVarQueryParams := _neturl.Values{}
293+
localVarFormParams := _neturl.Values{}
294+
localVarHeaderParams["Content-Type"] = "application/json"
295+
localVarHeaderParams["Accept"] = "application/json"
296+
297+
// body params
298+
localVarPostBody = &body
299+
if a.Client.Cfg.DelegatedTokenConfig != nil {
300+
err = datadog.UseDelegatedTokenAuth(ctx, &localVarHeaderParams, a.Client.Cfg.DelegatedTokenConfig)
301+
if err != nil {
302+
return localVarReturnValue, nil, err
303+
}
304+
} else {
305+
datadog.SetAuthKeys(
306+
ctx,
307+
&localVarHeaderParams,
308+
[2]string{"apiKeyAuth", "DD-API-KEY"},
309+
[2]string{"appKeyAuth", "DD-APPLICATION-KEY"},
310+
)
311+
}
312+
req, err := a.Client.PrepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, nil)
313+
if err != nil {
314+
return localVarReturnValue, nil, err
315+
}
316+
317+
localVarHTTPResponse, err := a.Client.CallAPI(req)
318+
if err != nil || localVarHTTPResponse == nil {
319+
return localVarReturnValue, localVarHTTPResponse, err
320+
}
321+
322+
localVarBody, err := datadog.ReadBody(localVarHTTPResponse)
323+
if err != nil {
324+
return localVarReturnValue, localVarHTTPResponse, err
325+
}
326+
327+
if localVarHTTPResponse.StatusCode >= 300 {
328+
newErr := datadog.GenericOpenAPIError{
329+
ErrorBody: localVarBody,
330+
ErrorMessage: localVarHTTPResponse.Status,
331+
}
332+
if localVarHTTPResponse.StatusCode == 400 || localVarHTTPResponse.StatusCode == 403 {
333+
var v JSONAPIErrorResponse
334+
err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
335+
if err != nil {
336+
return localVarReturnValue, localVarHTTPResponse, newErr
337+
}
338+
newErr.ErrorModel = v
339+
return localVarReturnValue, localVarHTTPResponse, newErr
340+
}
341+
if localVarHTTPResponse.StatusCode == 429 {
342+
var v APIErrorResponse
343+
err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
344+
if err != nil {
345+
return localVarReturnValue, localVarHTTPResponse, newErr
346+
}
347+
newErr.ErrorModel = v
348+
}
349+
return localVarReturnValue, localVarHTTPResponse, newErr
350+
}
351+
352+
err = a.Client.Decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
353+
if err != nil {
354+
newErr := datadog.GenericOpenAPIError{
355+
ErrorBody: localVarBody,
356+
ErrorMessage: err.Error(),
357+
}
358+
return localVarReturnValue, localVarHTTPResponse, newErr
359+
}
360+
361+
return localVarReturnValue, localVarHTTPResponse, nil
362+
}
363+
274364
// BulkEditSecurityMonitoringSignalsAssignee Bulk update triage assignee of security signals.
275365
// Change the triage assignees of multiple security signals at once.
276366
// The maximum number of signals that can be updated in a single request is 199.
@@ -2475,6 +2565,96 @@ func (a *SecurityMonitoringApi) DetachCase(ctx _context.Context, body DetachCase
24752565
return localVarHTTPResponse, nil
24762566
}
24772567

2568+
// EditSecurityMonitoringSignal Update security signal triage state or assignee.
2569+
// Update the triage state or assignee of a security signal.
2570+
func (a *SecurityMonitoringApi) EditSecurityMonitoringSignal(ctx _context.Context, signalId string, body SecurityMonitoringSignalUpdateRequest) (SecurityMonitoringSignalTriageUpdateResponse, *_nethttp.Response, error) {
2571+
var (
2572+
localVarHTTPMethod = _nethttp.MethodPatch
2573+
localVarPostBody interface{}
2574+
localVarReturnValue SecurityMonitoringSignalTriageUpdateResponse
2575+
)
2576+
2577+
localBasePath, err := a.Client.Cfg.ServerURLWithContext(ctx, "v2.SecurityMonitoringApi.EditSecurityMonitoringSignal")
2578+
if err != nil {
2579+
return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: err.Error()}
2580+
}
2581+
2582+
localVarPath := localBasePath + "/api/v2/security_monitoring/signals/{signal_id}/update"
2583+
localVarPath = datadog.ReplacePathParameter(localVarPath, "{signal_id}", _neturl.PathEscape(datadog.ParameterToString(signalId, "")))
2584+
2585+
localVarHeaderParams := make(map[string]string)
2586+
localVarQueryParams := _neturl.Values{}
2587+
localVarFormParams := _neturl.Values{}
2588+
localVarHeaderParams["Content-Type"] = "application/json"
2589+
localVarHeaderParams["Accept"] = "application/json"
2590+
2591+
// body params
2592+
localVarPostBody = &body
2593+
if a.Client.Cfg.DelegatedTokenConfig != nil {
2594+
err = datadog.UseDelegatedTokenAuth(ctx, &localVarHeaderParams, a.Client.Cfg.DelegatedTokenConfig)
2595+
if err != nil {
2596+
return localVarReturnValue, nil, err
2597+
}
2598+
} else {
2599+
datadog.SetAuthKeys(
2600+
ctx,
2601+
&localVarHeaderParams,
2602+
[2]string{"apiKeyAuth", "DD-API-KEY"},
2603+
[2]string{"appKeyAuth", "DD-APPLICATION-KEY"},
2604+
)
2605+
}
2606+
req, err := a.Client.PrepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, nil)
2607+
if err != nil {
2608+
return localVarReturnValue, nil, err
2609+
}
2610+
2611+
localVarHTTPResponse, err := a.Client.CallAPI(req)
2612+
if err != nil || localVarHTTPResponse == nil {
2613+
return localVarReturnValue, localVarHTTPResponse, err
2614+
}
2615+
2616+
localVarBody, err := datadog.ReadBody(localVarHTTPResponse)
2617+
if err != nil {
2618+
return localVarReturnValue, localVarHTTPResponse, err
2619+
}
2620+
2621+
if localVarHTTPResponse.StatusCode >= 300 {
2622+
newErr := datadog.GenericOpenAPIError{
2623+
ErrorBody: localVarBody,
2624+
ErrorMessage: localVarHTTPResponse.Status,
2625+
}
2626+
if localVarHTTPResponse.StatusCode == 400 || localVarHTTPResponse.StatusCode == 403 || localVarHTTPResponse.StatusCode == 404 {
2627+
var v JSONAPIErrorResponse
2628+
err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
2629+
if err != nil {
2630+
return localVarReturnValue, localVarHTTPResponse, newErr
2631+
}
2632+
newErr.ErrorModel = v
2633+
return localVarReturnValue, localVarHTTPResponse, newErr
2634+
}
2635+
if localVarHTTPResponse.StatusCode == 429 {
2636+
var v APIErrorResponse
2637+
err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
2638+
if err != nil {
2639+
return localVarReturnValue, localVarHTTPResponse, newErr
2640+
}
2641+
newErr.ErrorModel = v
2642+
}
2643+
return localVarReturnValue, localVarHTTPResponse, newErr
2644+
}
2645+
2646+
err = a.Client.Decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
2647+
if err != nil {
2648+
newErr := datadog.GenericOpenAPIError{
2649+
ErrorBody: localVarBody,
2650+
ErrorMessage: err.Error(),
2651+
}
2652+
return localVarReturnValue, localVarHTTPResponse, newErr
2653+
}
2654+
2655+
return localVarReturnValue, localVarHTTPResponse, nil
2656+
}
2657+
24782658
// EditSecurityMonitoringSignalAssignee Modify the triage assignee of a security signal.
24792659
// Modify the triage assignee of a security signal.
24802660
func (a *SecurityMonitoringApi) EditSecurityMonitoringSignalAssignee(ctx _context.Context, signalId string, body SecurityMonitoringSignalAssigneeUpdateRequest) (SecurityMonitoringSignalTriageUpdateResponse, *_nethttp.Response, error) {

api/datadogV2/doc.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -734,6 +734,7 @@
734734
// - [SecurityMonitoringApi.ActivateContentPack]
735735
// - [SecurityMonitoringApi.AttachCase]
736736
// - [SecurityMonitoringApi.AttachJiraIssue]
737+
// - [SecurityMonitoringApi.BulkEditSecurityMonitoringSignals]
737738
// - [SecurityMonitoringApi.BulkEditSecurityMonitoringSignalsAssignee]
738739
// - [SecurityMonitoringApi.BulkEditSecurityMonitoringSignalsState]
739740
// - [SecurityMonitoringApi.BulkExportSecurityMonitoringRules]
@@ -762,6 +763,7 @@
762763
// - [SecurityMonitoringApi.DeleteSignalNotificationRule]
763764
// - [SecurityMonitoringApi.DeleteVulnerabilityNotificationRule]
764765
// - [SecurityMonitoringApi.DetachCase]
766+
// - [SecurityMonitoringApi.EditSecurityMonitoringSignal]
765767
// - [SecurityMonitoringApi.EditSecurityMonitoringSignalAssignee]
766768
// - [SecurityMonitoringApi.EditSecurityMonitoringSignalIncidents]
767769
// - [SecurityMonitoringApi.EditSecurityMonitoringSignalState]

0 commit comments

Comments
 (0)