BatchUpdateFindings - AWS Security Hub


Used by Security Hub customers to update information about their investigation into a finding. Requested by administrator accounts or member accounts. Administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account.

Updates from BatchUpdateFindings do not affect the value of UpdatedAt for a finding.

Administrator and member accounts can use BatchUpdateFindings to update the following finding fields and objects.

  • Confidence

  • Criticality

  • Note

  • RelatedFindings

  • Severity

  • Types

  • UserDefinedFields

  • VerificationState

  • Workflow

You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. See Configuring access to BatchUpdateFindings in the AWS Security Hub User Guide.

Request Syntax

PATCH /findings/batchupdate HTTP/1.1 Content-type: application/json { "Confidence": number, "Criticality": number, "FindingIdentifiers": [ { "Id": "string", "ProductArn": "string" } ], "Note": { "Text": "string", "UpdatedBy": "string" }, "RelatedFindings": [ { "Id": "string", "ProductArn": "string" } ], "Severity": { "Label": "string", "Normalized": number, "Product": number }, "Types": [ "string" ], "UserDefinedFields": { "string" : "string" }, "VerificationState": "string", "Workflow": { "Status": "string" } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.


The updated value for the finding confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify.

Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence.

Type: Integer

Valid Range: Minimum value of 0. Maximum value of 100.

Required: No


The updated value for the level of importance assigned to the resources associated with the findings.

A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.

Type: Integer

Valid Range: Minimum value of 0. Maximum value of 100.

Required: No


The list of findings to update. BatchUpdateFindings can be used to update up to 100 findings at a time.

For each finding, the list provides the finding identifier and the ARN of the finding provider.

Type: Array of AwsSecurityFindingIdentifier objects

Required: Yes


The updated note.

Type: NoteUpdate object

Required: No


A list of findings that are related to the updated findings.

Type: Array of RelatedFinding objects

Required: No


Used to update the finding severity.

Type: SeverityUpdate object

Required: No


One or more finding types in the format of namespace/category/classifier that classify a finding.

Valid namespace values are as follows.

  • Software and Configuration Checks

  • TTPs

  • Effects

  • Unusual Behaviors

  • Sensitive Data Identifications

Type: Array of strings

Pattern: .*\S.*

Required: No


A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding.

Type: String to string map

Key Pattern: .*\S.*

Value Pattern: .*\S.*

Required: No


Indicates the veracity of a finding.

The available values for VerificationState are as follows.

  • UNKNOWN – The default disposition of a security finding

  • TRUE_POSITIVE – The security finding is confirmed

  • FALSE_POSITIVE – The security finding was determined to be a false alarm

  • BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding doesn't pose any threat, is expected, or both

Type: String


Required: No


Used to update the workflow status of a finding.

The workflow status indicates the progress of the investigation into the finding.

Type: WorkflowUpdate object

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "ProcessedFindings": [ { "Id": "string", "ProductArn": "string" } ], "UnprocessedFindings": [ { "ErrorCode": "string", "ErrorMessage": "string", "FindingIdentifier": { "Id": "string", "ProductArn": "string" } } ] }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.


The list of findings that were updated successfully.

Type: Array of AwsSecurityFindingIdentifier objects


The list of findings that were not updated.

Type: Array of BatchUpdateFindingsUnprocessedFinding objects


For information about the errors that are common to all actions, see Common Errors.


Internal server error.

HTTP Status Code: 500


The account doesn't have permission to perform this action.

HTTP Status Code: 401


The request was rejected because you supplied an invalid or out-of-range value for an input parameter.

HTTP Status Code: 400


The request was rejected because it attempted to create resources beyond the current AWS account or throttling limits. The error code describes the limit exceeded.

HTTP Status Code: 429

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: