@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS SecurityHub
@version 2018-10-26
@auth AWS SigV4
@endpoints 79
@hint download_for_search
@toc administrator(3), master(3), automationrules(5), standards(6), configurationPolicyAssociation(5), securityControls(2), associations(3), findings(4), actionTargets(4), configurationPolicy(5), findingAggregator(5), insights(5), members(6), invitations(4), accounts(4), organization(5), products(1), productSubscriptions(3), findingHistory(1), securityControl(2), tags(3)

@group administrator
@endpoint POST /administrator
@desc Accepts the invitation to be a member account and be monitored by the Security Hub administrator account that the invitation was sent from. This operation is only used by member accounts that are not added through Organizations. When the member account accepts the invitation, permission is granted to the administrator account to view findings generated in the member account.
@required {AdministratorId: str, InvitationId: str}

@endgroup

@group master
@endpoint POST /master
@desc This method is deprecated. Instead, use AcceptAdministratorInvitation. The Security Hub console continues to use AcceptInvitation. It will eventually change to use AcceptAdministratorInvitation. Any IAM policies that specifically control access to this function must continue to use AcceptInvitation. You should also add AcceptAdministratorInvitation to your policies to ensure that the correct permissions are in place after the console begins to use AcceptAdministratorInvitation. Accepts the invitation to be a member account and be monitored by the Security Hub administrator account that the invitation was sent from. This operation is only used by member accounts that are not added through Organizations. When the member account accepts the invitation, permission is granted to the administrator account to view findings generated in the member account.
@required {MasterId: str, InvitationId: str}

@endgroup

@group automationrules
@endpoint POST /automationrules/delete
@desc Deletes one or more automation rules.
@required {AutomationRulesArns: [str]}
@returns(200) {ProcessedAutomationRules: [str]?, UnprocessedAutomationRules: [UnprocessedAutomationRule]?}

@endgroup

@group standards
@endpoint POST /standards/deregister
@desc Disables the standards specified by the provided StandardsSubscriptionArns. For more information, see Security Standards section of the Security Hub User Guide.
@required {StandardsSubscriptionArns: [str]}
@returns(200) {StandardsSubscriptions: [StandardsSubscription]?}

@endpoint POST /standards/register
@desc Enables the standards specified by the provided StandardsArn. To obtain the ARN for a standard, use the DescribeStandards operation. For more information, see the Security Standards section of the Security Hub User Guide.
@required {StandardsSubscriptionRequests: [StandardsSubscriptionRequest]}
@returns(200) {StandardsSubscriptions: [StandardsSubscription]?}

@endgroup

@group automationrules
@endpoint POST /automationrules/get
@desc Retrieves a list of details for automation rules based on rule Amazon Resource Names (ARNs).
@required {AutomationRulesArns: [str]}
@returns(200) {Rules: [AutomationRulesConfig]?, UnprocessedAutomationRules: [UnprocessedAutomationRule]?}

@endgroup

@group configurationPolicyAssociation
@endpoint POST /configurationPolicyAssociation/batchget
@desc Returns associations between an Security Hub configuration and a batch of target accounts, organizational units, or the root. Only the Security Hub delegated administrator can invoke this operation from the home Region. A configuration can refer to a configuration policy or to a self-managed configuration.
@required {ConfigurationPolicyAssociationIdentifiers: [ConfigurationPolicyAssociation]}
@returns(200) {ConfigurationPolicyAssociations: [ConfigurationPolicyAssociationSummary]?, UnprocessedConfigurationPolicyAssociations: [UnprocessedConfigurationPolicyAssociation]?}

@endgroup

@group securityControls
@endpoint POST /securityControls/batchGet
@desc Provides details about a batch of security controls for the current Amazon Web Services account and Amazon Web Services Region.
@required {SecurityControlIds: [str]}
@returns(200) {SecurityControls: [SecurityControl], UnprocessedIds: [UnprocessedSecurityControl]?}

@endgroup

@group associations
@endpoint POST /associations/batchGet
@desc For a batch of security controls and standards, identifies whether each control is currently enabled or disabled in a standard.
@required {StandardsControlAssociationIds: [StandardsControlAssociationId]}
@returns(200) {StandardsControlAssociationDetails: [StandardsControlAssociationDetail], UnprocessedAssociations: [UnprocessedStandardsControlAssociation]?}

@endgroup

@group findings
@endpoint POST /findings/import
@desc Imports security findings generated by a finding provider into Security Hub. This action is requested by the finding provider to import its findings into Security Hub.  BatchImportFindings must be called by one of the following:   The Amazon Web Services account that is associated with a finding if you are using the default product ARN or are a partner sending findings from within a customer's Amazon Web Services account. In these cases, the identifier of the account that you are calling BatchImportFindings from needs to be the same as the AwsAccountId attribute for the finding.   An Amazon Web Services account that Security Hub has allow-listed for an official partner integration. In this case, you can call BatchImportFindings from the allow-listed account and send findings from different customer accounts in the same batch.   The maximum allowed size for a finding is 240 Kb. An error is returned for any finding larger than 240 Kb. After a finding is created, BatchImportFindings cannot be used to update the following finding fields and objects, which Security Hub customers use to manage their investigation workflow.    Note     UserDefinedFields     VerificationState     Workflow    Finding providers also should not use BatchImportFindings to update the following attributes.    Confidence     Criticality     RelatedFindings     Severity     Types    Instead, finding providers use FindingProviderFields to provide values for these attributes.
@required {Findings: [AwsSecurityFinding]}
@returns(200) {FailedCount: int, SuccessCount: int, FailedFindings: [ImportFindingsError]?}

@endgroup

@group automationrules
@endpoint PATCH /automationrules/update
@desc Updates one or more automation rules based on rule Amazon Resource Names (ARNs) and input parameters.
@required {UpdateAutomationRulesRequestItems: [UpdateAutomationRulesRequestItem]}
@returns(200) {ProcessedAutomationRules: [str]?, UnprocessedAutomationRules: [UnprocessedAutomationRule]?}

@endgroup

@group findings
@endpoint PATCH /findings/batchupdate
@desc 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 Security Hub User Guide.
@required {FindingIdentifiers: [AwsSecurityFindingIdentifier]}
@optional {Note: NoteUpdate, Severity: SeverityUpdate, VerificationState: str, Confidence: int, Criticality: int, Types: [str], UserDefinedFields: map<str,str>, Workflow: WorkflowUpdate, RelatedFindings: [RelatedFinding]}
@returns(200) {ProcessedFindings: [AwsSecurityFindingIdentifier], UnprocessedFindings: [BatchUpdateFindingsUnprocessedFinding]}

@endgroup

@group associations
@endpoint PATCH /associations
@desc For a batch of security controls and standards, this operation updates the enablement status of a control in a standard.
@required {StandardsControlAssociationUpdates: [StandardsControlAssociationUpdate]}
@returns(200) {UnprocessedAssociationUpdates: [UnprocessedStandardsControlAssociationUpdate]?}

@endgroup

@group actionTargets
@endpoint POST /actionTargets
@desc Creates a custom action target in Security Hub. You can use custom actions on findings and insights in Security Hub to trigger target actions in Amazon CloudWatch Events.
@required {Name: str, Description: str, Id: str}
@returns(200) {ActionTargetArn: str}

@endgroup

@group automationrules
@endpoint POST /automationrules/create
@desc Creates an automation rule based on input parameters.
@required {RuleOrder: int, RuleName: str, Description: str, Criteria: AutomationRulesFindingFilters, Actions: [AutomationRulesAction]}
@optional {Tags: map<str,str>, RuleStatus: str, IsTerminal: bool}
@returns(200) {RuleArn: str?}

@endgroup

@group configurationPolicy
@endpoint POST /configurationPolicy/create
@desc Creates a configuration policy with the defined configuration. Only the Security Hub delegated administrator can invoke this operation from the home Region.
@required {Name: str, ConfigurationPolicy: Policy}
@optional {Description: str, Tags: map<str,str>}
@returns(200) {Arn: str?, Id: str?, Name: str?, Description: str?, UpdatedAt: str(timestamp)?, CreatedAt: str(timestamp)?, ConfigurationPolicy: Policy?{SecurityHub: SecurityHubPolicy?{ServiceEnabled: bool?, EnabledStandardIdentifiers: [str]?, SecurityControlsConfiguration: SecurityControlsConfiguration?{EnabledSecurityControlIdentifiers: [str]?, DisabledSecurityControlIdentifiers: [str]?, SecurityControlCustomParameters: [SecurityControlCustomParameter]?}}}}

@endgroup

@group findingAggregator
@endpoint POST /findingAggregator/create
@desc Used to enable finding aggregation. Must be called from the aggregation Region. For more details about cross-Region replication, see Configuring finding aggregation in the Security Hub User Guide.
@required {RegionLinkingMode: str}
@optional {Regions: [str]}
@returns(200) {FindingAggregatorArn: str?, FindingAggregationRegion: str?, RegionLinkingMode: str?, Regions: [str]?}

@endgroup

@group insights
@endpoint POST /insights
@desc Creates a custom insight in Security Hub. An insight is a consolidation of findings that relate to a security issue that requires attention or remediation. To group the related findings in the insight, use the GroupByAttribute.
@required {Name: str, Filters: AwsSecurityFindingFilters, GroupByAttribute: str}
@returns(200) {InsightArn: str}

@endgroup

@group members
@endpoint POST /members
@desc Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the administrator account. If you are integrated with Organizations, then the administrator account is designated by the organization management account.  CreateMembers is always used to add accounts that are not organization members. For accounts that are managed using Organizations, CreateMembers is only used in the following cases:   Security Hub is not configured to automatically add new organization accounts.   The account was disassociated or deleted in Security Hub.   This action can only be used by an account that has Security Hub enabled. To enable Security Hub, you can use the EnableSecurityHub operation. For accounts that are not organization members, you create the account association and then send an invitation to the member account. To send the invitation, you use the InviteMembers operation. If the account owner accepts the invitation, the account becomes a member account in Security Hub. Accounts that are managed using Organizations do not receive an invitation. They automatically become a member account in Security Hub.   If the organization account does not have Security Hub enabled, then Security Hub and the default standards are automatically enabled. Note that Security Hub cannot be enabled automatically for the organization management account. The organization management account must enable Security Hub before the administrator account enables it as a member account.   For organization accounts that already have Security Hub enabled, Security Hub does not make any other changes to those accounts. It does not change their enabled standards or controls.   A permissions policy is added that permits the administrator account to view the findings generated in the member account. To remove the association between the administrator and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.
@required {AccountDetails: [AccountDetails]}
@returns(200) {UnprocessedAccounts: [Result]?}

@endgroup

@group invitations
@endpoint POST /invitations/decline
@desc Declines invitations to become a member account. A prospective member account uses this operation to decline an invitation to become a member. This operation is only called by member accounts that aren't part of an organization. Organization accounts don't receive invitations.
@required {AccountIds: [str]}
@returns(200) {UnprocessedAccounts: [Result]?}

@endgroup

@group actionTargets
@endpoint DELETE /actionTargets/{ActionTargetArn+}
@desc Deletes a custom action target from Security Hub. Deleting a custom action target does not affect any findings or insights that were already sent to Amazon CloudWatch Events using the custom action.
@required {ActionTargetArn: str}
@returns(200) {ActionTargetArn: str}

@endgroup

@group configurationPolicy
@endpoint DELETE /configurationPolicy/{Identifier}
@desc Deletes a configuration policy. Only the Security Hub delegated administrator can invoke this operation from the home Region. For the deletion to succeed, you must first disassociate a configuration policy from target accounts, organizational units, or the root by invoking the StartConfigurationPolicyDisassociation operation.
@required {Identifier: str}

@endgroup

@group findingAggregator
@endpoint DELETE /findingAggregator/delete/{FindingAggregatorArn+}
@desc Deletes a finding aggregator. When you delete the finding aggregator, you stop finding aggregation. When you stop finding aggregation, findings that were already aggregated to the aggregation Region are still visible from the aggregation Region. New findings and finding updates are not aggregated.
@required {FindingAggregatorArn: str}

@endgroup

@group insights
@endpoint DELETE /insights/{InsightArn+}
@desc Deletes the insight specified by the InsightArn.
@required {InsightArn: str}
@returns(200) {InsightArn: str}

@endgroup

@group invitations
@endpoint POST /invitations/delete
@desc Deletes invitations received by the Amazon Web Services account to become a member account. A Security Hub administrator account can use this operation to delete invitations sent to one or more member accounts. This operation is only used to delete invitations that are sent to member accounts that aren't part of an organization. Organization accounts don't receive invitations.
@required {AccountIds: [str]}
@returns(200) {UnprocessedAccounts: [Result]?}

@endgroup

@group members
@endpoint POST /members/delete
@desc Deletes the specified member accounts from Security Hub. You can invoke this API only to delete accounts that became members through invitation. You can't invoke this API to delete accounts that belong to an Organizations organization.
@required {AccountIds: [str]}
@returns(200) {UnprocessedAccounts: [Result]?}

@endgroup

@group actionTargets
@endpoint POST /actionTargets/get
@desc Returns a list of the custom action targets in Security Hub in your account.
@optional {ActionTargetArns: [str], NextToken: str, MaxResults: int}
@returns(200) {ActionTargets: [ActionTarget], NextToken: str?}

@endgroup

@group accounts
@endpoint GET /accounts
@desc Returns details about the Hub resource in your account, including the HubArn and the time when you enabled Security Hub.
@optional {HubArn: str}
@returns(200) {HubArn: str?, SubscribedAt: str?, AutoEnableControls: bool?, ControlFindingGenerator: str?}

@endgroup

@group organization
@endpoint GET /organization/configuration
@desc Returns information about the way your organization is configured in Security Hub. Only the Security Hub administrator account can invoke this operation.
@returns(200) {AutoEnable: bool?, MemberAccountLimitReached: bool?, AutoEnableStandards: str?, OrganizationConfiguration: OrganizationConfiguration?{ConfigurationType: str?, Status: str?, StatusMessage: str?}}

@endgroup

@group products
@endpoint GET /products
@desc Returns information about product integrations in Security Hub. You can optionally provide an integration ARN. If you provide an integration ARN, then the results only include that integration. If you do not provide an integration ARN, then the results include all of the available product integrations.
@optional {NextToken: str, MaxResults: int, ProductArn: str}
@returns(200) {Products: [Product], NextToken: str?}

@endgroup

@group standards
@endpoint GET /standards
@desc Returns a list of the available standards in Security Hub. For each standard, the results include the standard ARN, the name, and a description.
@optional {NextToken: str, MaxResults: int}
@returns(200) {Standards: [Standard]?, NextToken: str?}

@endpoint GET /standards/controls/{StandardsSubscriptionArn+}
@desc Returns a list of security standards controls. For each control, the results include information about whether it is currently enabled, the severity, and a link to remediation information.
@required {StandardsSubscriptionArn: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {Controls: [StandardsControl]?, NextToken: str?}

@endgroup

@group productSubscriptions
@endpoint DELETE /productSubscriptions/{ProductSubscriptionArn+}
@desc Disables the integration of the specified product with Security Hub. After the integration is disabled, findings from that product are no longer sent to Security Hub.
@required {ProductSubscriptionArn: str}

@endgroup

@group organization
@endpoint POST /organization/admin/disable
@desc Disables a Security Hub administrator account. Can only be called by the organization management account.
@required {AdminAccountId: str}

@endgroup

@group accounts
@endpoint DELETE /accounts
@desc Disables Security Hub in your account only in the current Amazon Web Services Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub. You can't disable Security Hub in an account that is currently the Security Hub administrator. When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your administrator and member account associations are removed. If you want to save your existing findings, you must export them before you disable Security Hub.

@endgroup

@group administrator
@endpoint POST /administrator/disassociate
@desc Disassociates the current Security Hub member account from the associated administrator account. This operation is only used by accounts that are not part of an organization. For organization accounts, only the administrator account can disassociate a member account.

@endgroup

@group master
@endpoint POST /master/disassociate
@desc This method is deprecated. Instead, use DisassociateFromAdministratorAccount. The Security Hub console continues to use DisassociateFromMasterAccount. It will eventually change to use DisassociateFromAdministratorAccount. Any IAM policies that specifically control access to this function must continue to use DisassociateFromMasterAccount. You should also add DisassociateFromAdministratorAccount to your policies to ensure that the correct permissions are in place after the console begins to use DisassociateFromAdministratorAccount. Disassociates the current Security Hub member account from the associated administrator account. This operation is only used by accounts that are not part of an organization. For organization accounts, only the administrator account can disassociate a member account.

@endgroup

@group members
@endpoint POST /members/disassociate
@desc Disassociates the specified member accounts from the associated administrator account. Can be used to disassociate both accounts that are managed using Organizations and accounts that were invited manually.
@required {AccountIds: [str]}

@endgroup

@group productSubscriptions
@endpoint POST /productSubscriptions
@desc Enables the integration of a partner product with Security Hub. Integrated products send findings to Security Hub. When you enable a product integration, a permissions policy that grants permission for the product to send findings to Security Hub is applied.
@required {ProductArn: str}
@returns(200) {ProductSubscriptionArn: str?}

@endgroup

@group organization
@endpoint POST /organization/admin/enable
@desc Designates the Security Hub administrator account for an organization. Can only be called by the organization management account.
@required {AdminAccountId: str}

@endgroup

@group accounts
@endpoint POST /accounts
@desc Enables Security Hub for your account in the current Region or the Region you specify in the request. When you enable Security Hub, you grant to Security Hub the permissions necessary to gather findings from other services that are integrated with Security Hub. When you use the EnableSecurityHub operation to enable Security Hub, you also automatically enable the following standards:   Center for Internet Security (CIS) Amazon Web Services Foundations Benchmark v1.2.0   Amazon Web Services Foundational Security Best Practices   Other standards are not automatically enabled.  To opt out of automatically enabled standards, set EnableDefaultStandards to false. After you enable Security Hub, to enable a standard, use the BatchEnableStandards operation. To disable a standard, use the BatchDisableStandards operation. To learn more, see the setup information in the Security Hub User Guide.
@optional {Tags: map<str,str>, EnableDefaultStandards: bool, ControlFindingGenerator: str}

@endgroup

@group administrator
@endpoint GET /administrator
@desc Provides the details for the Security Hub administrator account for the current member account. Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.
@returns(200) {Administrator: Invitation?{AccountId: str?, InvitationId: str?, InvitedAt: str(timestamp)?, MemberStatus: str?}}

@endgroup

@group configurationPolicy
@endpoint GET /configurationPolicy/get/{Identifier}
@desc Provides information about a configuration policy. Only the Security Hub delegated administrator can invoke this operation from the home Region.
@required {Identifier: str}
@returns(200) {Arn: str?, Id: str?, Name: str?, Description: str?, UpdatedAt: str(timestamp)?, CreatedAt: str(timestamp)?, ConfigurationPolicy: Policy?{SecurityHub: SecurityHubPolicy?{ServiceEnabled: bool?, EnabledStandardIdentifiers: [str]?, SecurityControlsConfiguration: SecurityControlsConfiguration?{EnabledSecurityControlIdentifiers: [str]?, DisabledSecurityControlIdentifiers: [str]?, SecurityControlCustomParameters: [SecurityControlCustomParameter]?}}}}

@endgroup

@group configurationPolicyAssociation
@endpoint POST /configurationPolicyAssociation/get
@desc Returns the association between a configuration and a target account, organizational unit, or the root. The configuration can be a configuration policy or self-managed behavior. Only the Security Hub delegated administrator can invoke this operation from the home Region.
@required {Target: Target}
@returns(200) {ConfigurationPolicyId: str?, TargetId: str?, TargetType: str?, AssociationType: str?, UpdatedAt: str(timestamp)?, AssociationStatus: str?, AssociationStatusMessage: str?}

@endgroup

@group standards
@endpoint POST /standards/get
@desc Returns a list of the standards that are currently enabled.
@optional {StandardsSubscriptionArns: [str], NextToken: str, MaxResults: int}
@returns(200) {StandardsSubscriptions: [StandardsSubscription]?, NextToken: str?}

@endgroup

@group findingAggregator
@endpoint GET /findingAggregator/get/{FindingAggregatorArn+}
@desc Returns the current finding aggregation configuration.
@required {FindingAggregatorArn: str}
@returns(200) {FindingAggregatorArn: str?, FindingAggregationRegion: str?, RegionLinkingMode: str?, Regions: [str]?}

@endgroup

@group findingHistory
@endpoint POST /findingHistory/get
@desc Returns history for a Security Hub finding in the last 90 days. The history includes changes made to any fields in the Amazon Web Services Security Finding Format (ASFF).
@required {FindingIdentifier: AwsSecurityFindingIdentifier}
@optional {StartTime: str(timestamp), EndTime: str(timestamp), NextToken: str, MaxResults: int}
@returns(200) {Records: [FindingHistoryRecord]?, NextToken: str?}

@endgroup

@group findings
@endpoint POST /findings
@desc Returns a list of findings that match the specified criteria. If finding aggregation is enabled, then when you call GetFindings from the aggregation Region, the results include all of the matching findings from both the aggregation Region and the linked Regions.
@optional {Filters: AwsSecurityFindingFilters, SortCriteria: [SortCriterion], NextToken: str, MaxResults: int}
@returns(200) {Findings: [AwsSecurityFinding], NextToken: str?}

@endgroup

@group insights
@endpoint GET /insights/results/{InsightArn+}
@desc Lists the results of the Security Hub insight specified by the insight ARN.
@required {InsightArn: str}
@returns(200) {InsightResults: InsightResults{InsightArn: str, GroupByAttribute: str, ResultValues: [InsightResultValue]}}

@endpoint POST /insights/get
@desc Lists and describes insights for the specified insight ARNs.
@optional {InsightArns: [str], NextToken: str, MaxResults: int}
@returns(200) {Insights: [Insight], NextToken: str?}

@endgroup

@group invitations
@endpoint GET /invitations/count
@desc Returns the count of all Security Hub membership invitations that were sent to the current member account, not including the currently accepted invitation.
@returns(200) {InvitationsCount: int?}

@endgroup

@group master
@endpoint GET /master
@desc This method is deprecated. Instead, use GetAdministratorAccount. The Security Hub console continues to use GetMasterAccount. It will eventually change to use GetAdministratorAccount. Any IAM policies that specifically control access to this function must continue to use GetMasterAccount. You should also add GetAdministratorAccount to your policies to ensure that the correct permissions are in place after the console begins to use GetAdministratorAccount. Provides the details for the Security Hub administrator account for the current member account. Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.
@returns(200) {Master: Invitation?{AccountId: str?, InvitationId: str?, InvitedAt: str(timestamp)?, MemberStatus: str?}}

@endgroup

@group members
@endpoint POST /members/get
@desc Returns the details for the Security Hub member accounts for the specified account IDs. An administrator account can be either the delegated Security Hub administrator account for an organization or an administrator account that enabled Security Hub manually. The results include both member accounts that are managed using Organizations and accounts that were invited manually.
@required {AccountIds: [str]}
@returns(200) {Members: [Member]?, UnprocessedAccounts: [Result]?}

@endgroup

@group securityControl
@endpoint GET /securityControl/definition
@desc Retrieves the definition of a security control. The definition includes the control title, description, Region availability, parameter definitions, and other details.
@required {SecurityControlId: str}
@returns(200) {SecurityControlDefinition: SecurityControlDefinition{SecurityControlId: str, Title: str, Description: str, RemediationUrl: str, SeverityRating: str, CurrentRegionAvailability: str, CustomizableProperties: [str]?, ParameterDefinitions: map<str,ParameterDefinition>?}}

@endgroup

@group members
@endpoint POST /members/invite
@desc Invites other Amazon Web Services accounts to become member accounts for the Security Hub administrator account that the invitation is sent from. This operation is only used to invite accounts that do not belong to an organization. Organization accounts do not receive invitations. Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub. When the account owner enables Security Hub and accepts the invitation to become a member account, the administrator account can view the findings generated from the member account.
@required {AccountIds: [str]}
@returns(200) {UnprocessedAccounts: [Result]?}

@endgroup

@group automationrules
@endpoint GET /automationrules/list
@desc A list of automation rules and their metadata for the calling account.
@optional {NextToken: str, MaxResults: int}
@returns(200) {AutomationRulesMetadata: [AutomationRulesMetadata]?, NextToken: str?}

@endgroup

@group configurationPolicy
@endpoint GET /configurationPolicy/list
@desc Lists the configuration policies that the Security Hub delegated administrator has created for your organization. Only the delegated administrator can invoke this operation from the home Region.
@optional {NextToken: str, MaxResults: int}
@returns(200) {ConfigurationPolicySummaries: [ConfigurationPolicySummary]?, NextToken: str?}

@endgroup

@group configurationPolicyAssociation
@endpoint POST /configurationPolicyAssociation/list
@desc Provides information about the associations for your configuration policies and self-managed behavior. Only the Security Hub delegated administrator can invoke this operation from the home Region.
@optional {NextToken: str, MaxResults: int, Filters: AssociationFilters}
@returns(200) {ConfigurationPolicyAssociationSummaries: [ConfigurationPolicyAssociationSummary]?, NextToken: str?}

@endgroup

@group productSubscriptions
@endpoint GET /productSubscriptions
@desc Lists all findings-generating solutions (products) that you are subscribed to receive findings from in Security Hub.
@optional {NextToken: str, MaxResults: int}
@returns(200) {ProductSubscriptions: [str]?, NextToken: str?}

@endgroup

@group findingAggregator
@endpoint GET /findingAggregator/list
@desc If finding aggregation is enabled, then ListFindingAggregators returns the ARN of the finding aggregator. You can run this operation from any Region.
@optional {NextToken: str, MaxResults: int}
@returns(200) {FindingAggregators: [FindingAggregator]?, NextToken: str?}

@endgroup

@group invitations
@endpoint GET /invitations
@desc Lists all Security Hub membership invitations that were sent to the current Amazon Web Services account. This operation is only used by accounts that are managed by invitation. Accounts that are managed using the integration with Organizations do not receive invitations.
@optional {MaxResults: int, NextToken: str}
@returns(200) {Invitations: [Invitation]?, NextToken: str?}

@endgroup

@group members
@endpoint GET /members
@desc Lists details about all member accounts for the current Security Hub administrator account. The results include both member accounts that belong to an organization and member accounts that were invited manually.
@optional {OnlyAssociated: bool, MaxResults: int, NextToken: str}
@returns(200) {Members: [Member]?, NextToken: str?}

@endgroup

@group organization
@endpoint GET /organization/admin
@desc Lists the Security Hub administrator accounts. Can only be called by the organization management account.
@optional {MaxResults: int, NextToken: str}
@returns(200) {AdminAccounts: [AdminAccount]?, NextToken: str?}

@endgroup

@group securityControls
@endpoint GET /securityControls/definitions
@desc Lists all of the security controls that apply to a specified standard.
@optional {StandardsArn: str, NextToken: str, MaxResults: int}
@returns(200) {SecurityControlDefinitions: [SecurityControlDefinition], NextToken: str?}

@endgroup

@group associations
@endpoint GET /associations
@desc Specifies whether a control is currently enabled or disabled in each enabled standard in the calling account.
@required {SecurityControlId: str}
@optional {NextToken: str, MaxResults: int}
@returns(200) {StandardsControlAssociationSummaries: [StandardsControlAssociationSummary], NextToken: str?}

@endgroup

@group tags
@endpoint GET /tags/{ResourceArn}
@desc Returns a list of tags associated with a resource.
@required {ResourceArn: str}
@returns(200) {Tags: map<str,str>?}

@endgroup

@group configurationPolicyAssociation
@endpoint POST /configurationPolicyAssociation/associate
@desc Associates a target account, organizational unit, or the root with a specified configuration. The target can be associated with a configuration policy or self-managed behavior. Only the Security Hub delegated administrator can invoke this operation from the home Region.
@required {ConfigurationPolicyIdentifier: str, Target: Target}
@returns(200) {ConfigurationPolicyId: str?, TargetId: str?, TargetType: str?, AssociationType: str?, UpdatedAt: str(timestamp)?, AssociationStatus: str?, AssociationStatusMessage: str?}

@endpoint POST /configurationPolicyAssociation/disassociate
@desc Disassociates a target account, organizational unit, or the root from a specified configuration. When you disassociate a configuration from its target, the target inherits the configuration of the closest parent. If there’s no configuration to inherit, the target retains its settings but becomes a self-managed account. A target can be disassociated from a configuration policy or self-managed behavior. Only the Security Hub delegated administrator can invoke this operation from the home Region.
@required {ConfigurationPolicyIdentifier: str}
@optional {Target: Target}

@endgroup

@group tags
@endpoint POST /tags/{ResourceArn}
@desc Adds one or more tags to a resource.
@required {ResourceArn: str, Tags: map<str,str>}

@endpoint DELETE /tags/{ResourceArn}
@desc Removes one or more tags from a resource.
@required {ResourceArn: str, tagKeys: [str]}

@endgroup

@group actionTargets
@endpoint PATCH /actionTargets/{ActionTargetArn+}
@desc Updates the name and description of a custom action target in Security Hub.
@required {ActionTargetArn: str}
@optional {Name: str, Description: str}

@endgroup

@group configurationPolicy
@endpoint PATCH /configurationPolicy/{Identifier}
@desc Updates a configuration policy. Only the Security Hub delegated administrator can invoke this operation from the home Region.
@required {Identifier: str}
@optional {Name: str, Description: str, UpdatedReason: str, ConfigurationPolicy: Policy}
@returns(200) {Arn: str?, Id: str?, Name: str?, Description: str?, UpdatedAt: str(timestamp)?, CreatedAt: str(timestamp)?, ConfigurationPolicy: Policy?{SecurityHub: SecurityHubPolicy?{ServiceEnabled: bool?, EnabledStandardIdentifiers: [str]?, SecurityControlsConfiguration: SecurityControlsConfiguration?{EnabledSecurityControlIdentifiers: [str]?, DisabledSecurityControlIdentifiers: [str]?, SecurityControlCustomParameters: [SecurityControlCustomParameter]?}}}}

@endgroup

@group findingAggregator
@endpoint PATCH /findingAggregator/update
@desc Updates the finding aggregation configuration. Used to update the Region linking mode and the list of included or excluded Regions. You cannot use UpdateFindingAggregator to change the aggregation Region. You must run UpdateFindingAggregator from the current aggregation Region.
@required {FindingAggregatorArn: str, RegionLinkingMode: str}
@optional {Regions: [str]}
@returns(200) {FindingAggregatorArn: str?, FindingAggregationRegion: str?, RegionLinkingMode: str?, Regions: [str]?}

@endgroup

@group findings
@endpoint PATCH /findings
@desc UpdateFindings is a deprecated operation. Instead of UpdateFindings, use the BatchUpdateFindings operation. The UpdateFindings operation updates the Note and RecordState of the Security Hub aggregated findings that the filter attributes specify. Any member account that can view the finding can also see the update to the finding. Finding updates made with UpdateFindings aren't persisted if the same finding is later updated by the finding provider through the BatchImportFindings operation. In addition, Security Hub doesn't record updates made with UpdateFindings in the finding history.
@required {Filters: AwsSecurityFindingFilters}
@optional {Note: NoteUpdate, RecordState: str}

@endgroup

@group insights
@endpoint PATCH /insights/{InsightArn+}
@desc Updates the Security Hub insight identified by the specified insight ARN.
@required {InsightArn: str}
@optional {Name: str, Filters: AwsSecurityFindingFilters, GroupByAttribute: str}

@endgroup

@group organization
@endpoint POST /organization/configuration
@desc Updates the configuration of your organization in Security Hub. Only the Security Hub administrator account can invoke this operation.
@required {AutoEnable: bool}
@optional {AutoEnableStandards: str, OrganizationConfiguration: OrganizationConfiguration}

@endgroup

@group securityControl
@endpoint PATCH /securityControl/update
@desc Updates the properties of a security control.
@required {SecurityControlId: str, Parameters: map<str,ParameterConfiguration>}
@optional {LastUpdateReason: str}

@endgroup

@group accounts
@endpoint PATCH /accounts
@desc Updates configuration options for Security Hub.
@optional {AutoEnableControls: bool, ControlFindingGenerator: str}

@endgroup

@group standards
@endpoint PATCH /standards/control/{StandardsControlArn+}
@desc Used to control whether an individual security standard control is enabled or disabled.
@required {StandardsControlArn: str}
@optional {ControlStatus: str, DisabledReason: str}

@endgroup

@end
