@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Macie 2
@version 2020-01-01
@auth AWS SigV4
@endpoints 81
@hint download_for_search
@toc invitations(6), custom-data-identifiers(6), automated-discovery(4), allow-lists(5), jobs(4), findingsfilters(5), members(5), findings(6), datasources(3), admin(5), macie(5), administrator(2), master(2), classification-export-configuration(2), classification-scopes(3), findings-publication-configuration(2), resource-profiles(5), reveal-configuration(2), templates(3), usage(2), managed-data-identifiers(1), tags(3)

@group invitations
@endpoint POST /invitations/accept
@desc Accepts an Amazon Macie membership invitation that was received from a specific account.
@required {invitationId: str}
@optional {administratorAccountId: str, masterAccount: str}

@endgroup

@group custom-data-identifiers
@endpoint POST /custom-data-identifiers/get
@desc Retrieves information about one or more custom data identifiers.
@optional {ids: [str]}
@returns(200) {customDataIdentifiers: [BatchGetCustomDataIdentifierSummary]?, notFoundIdentifierIds: [str]?}

@endgroup

@group automated-discovery
@endpoint PATCH /automated-discovery/accounts
@desc Changes the status of automated sensitive data discovery for one or more accounts.
@optional {accounts: [AutomatedDiscoveryAccountUpdate]}
@returns(200) {errors: [AutomatedDiscoveryAccountUpdateError]?}

@endgroup

@group allow-lists
@endpoint POST /allow-lists
@desc Creates and defines the settings for an allow list.
@required {clientToken: str, criteria: AllowListCriteria, name: str}
@optional {description: str, tags: map<str,str>}
@returns(200) {arn: str?, id: str?}

@endgroup

@group jobs
@endpoint POST /jobs
@desc Creates and defines the settings for a classification job.
@required {clientToken: str, jobType: str, name: str, s3JobDefinition: S3JobDefinition}
@optional {allowListIds: [str], customDataIdentifierIds: [str], description: str, initialRun: bool, managedDataIdentifierIds: [str], managedDataIdentifierSelector: str, samplingPercentage: int, scheduleFrequency: JobScheduleFrequency, tags: map<str,str>}
@returns(200) {jobArn: str?, jobId: str?}

@endgroup

@group custom-data-identifiers
@endpoint POST /custom-data-identifiers
@desc Creates and defines the criteria and other settings for a custom data identifier.
@required {name: str, regex: str}
@optional {clientToken: str, description: str, ignoreWords: [str], keywords: [str], maximumMatchDistance: int, severityLevels: [SeverityLevel], tags: map<str,str>}
@returns(200) {customDataIdentifierId: str?}

@endgroup

@group findingsfilters
@endpoint POST /findingsfilters
@desc Creates and defines the criteria and other settings for a findings filter.
@required {action: str, findingCriteria: FindingCriteria, name: str}
@optional {clientToken: str, description: str, position: int, tags: map<str,str>}
@returns(200) {arn: str?, id: str?}

@endgroup

@group invitations
@endpoint POST /invitations
@desc Sends an Amazon Macie membership invitation to one or more accounts.
@required {accountIds: [str]}
@optional {disableEmailNotification: bool, message: str}
@returns(200) {unprocessedAccounts: [UnprocessedAccount]?}

@endgroup

@group members
@endpoint POST /members
@desc Associates an account with an Amazon Macie administrator account.
@required {account: AccountDetail}
@optional {tags: map<str,str>}
@returns(200) {arn: str?}

@endgroup

@group findings
@endpoint POST /findings/sample
@desc Creates sample findings.
@optional {findingTypes: [str]}

@endgroup

@group invitations
@endpoint POST /invitations/decline
@desc Declines Amazon Macie membership invitations that were received from specific accounts.
@required {accountIds: [str]}
@returns(200) {unprocessedAccounts: [UnprocessedAccount]?}

@endgroup

@group allow-lists
@endpoint DELETE /allow-lists/{id}
@desc Deletes an allow list.
@required {id: str}
@optional {ignoreJobChecks: str}

@endgroup

@group custom-data-identifiers
@endpoint DELETE /custom-data-identifiers/{id}
@desc Soft deletes a custom data identifier.
@required {id: str}

@endgroup

@group findingsfilters
@endpoint DELETE /findingsfilters/{id}
@desc Deletes a findings filter.
@required {id: str}

@endgroup

@group invitations
@endpoint POST /invitations/delete
@desc Deletes Amazon Macie membership invitations that were received from specific accounts.
@required {accountIds: [str]}
@returns(200) {unprocessedAccounts: [UnprocessedAccount]?}

@endgroup

@group members
@endpoint DELETE /members/{id}
@desc Deletes the association between an Amazon Macie administrator account and an account.
@required {id: str}

@endgroup

@group datasources
@endpoint POST /datasources/s3
@desc Retrieves (queries) statistical data and other information about one or more S3 buckets that Amazon Macie monitors and analyzes for an account.
@optional {criteria: map<str,BucketCriteriaAdditionalProperties>, maxResults: int, nextToken: str, sortCriteria: BucketSortCriteria}
@returns(200) {buckets: [BucketMetadata]?, nextToken: str?}

@endgroup

@group jobs
@endpoint GET /jobs/{jobId}
@desc Retrieves the status and settings for a classification job.
@required {jobId: str}
@returns(200) {allowListIds: [str]?, clientToken: str?, createdAt: str(timestamp)?, customDataIdentifierIds: [str]?, description: str?, initialRun: bool?, jobArn: str?, jobId: str?, jobStatus: str?, jobType: str?, lastRunErrorStatus: LastRunErrorStatus?{code: str?}, lastRunTime: str(timestamp)?, managedDataIdentifierIds: [str]?, managedDataIdentifierSelector: str?, name: str?, s3JobDefinition: S3JobDefinition?{bucketCriteria: S3BucketCriteriaForJob?{excludes: CriteriaBlockForJob?{and: [CriteriaForJob]?}, includes: CriteriaBlockForJob?{and: [CriteriaForJob]?}}, bucketDefinitions: [S3BucketDefinitionForJob]?, scoping: Scoping?{excludes: JobScopingBlock?{and: [JobScopeTerm]?}, includes: JobScopingBlock?{and: [JobScopeTerm]?}}}, samplingPercentage: int?, scheduleFrequency: JobScheduleFrequency?{dailySchedule: DailySchedule?, monthlySchedule: MonthlySchedule?{dayOfMonth: int?}, weeklySchedule: WeeklySchedule?{dayOfWeek: str?}}, statistics: Statistics?{approximateNumberOfObjectsToProcess: num(f64)?, numberOfRuns: num(f64)?}, tags: map<str,str>?, userPausedDetails: UserPausedDetails?{jobExpiresAt: str(timestamp)?, jobImminentExpirationHealthEventArn: str?, jobPausedAt: str(timestamp)?}}

@endgroup

@group admin
@endpoint GET /admin/configuration
@desc Retrieves the Amazon Macie configuration settings for an organization in Organizations.
@returns(200) {autoEnable: bool?, maxAccountLimitReached: bool?}

@endgroup

@group macie
@endpoint DELETE /macie
@desc Disables Amazon Macie and deletes all settings and resources for a Macie account.

@endgroup

@group admin
@endpoint DELETE /admin
@desc Disables an account as the delegated Amazon Macie administrator account for an organization in Organizations.
@required {adminAccountId: str}

@endgroup

@group administrator
@endpoint POST /administrator/disassociate
@desc Disassociates a member account from its Amazon Macie administrator account.

@endgroup

@group master
@endpoint POST /master/disassociate
@desc (Deprecated) Disassociates a member account from its Amazon Macie administrator account. This operation has been replaced by the DisassociateFromAdministratorAccount operation.

@endgroup

@group members
@endpoint POST /members/disassociate/{id}
@desc Disassociates an Amazon Macie administrator account from a member account.
@required {id: str}

@endgroup

@group macie
@endpoint POST /macie
@desc Enables Amazon Macie and specifies the configuration settings for a Macie account.
@optional {clientToken: str, findingPublishingFrequency: str, status: str}

@endgroup

@group admin
@endpoint POST /admin
@desc Designates an account as the delegated Amazon Macie administrator account for an organization in Organizations.
@required {adminAccountId: str}
@optional {clientToken: str}

@endgroup

@group administrator
@endpoint GET /administrator
@desc Retrieves information about the Amazon Macie administrator account for an account.
@returns(200) {administrator: Invitation?{accountId: str?, invitationId: str?, invitedAt: str(timestamp)?, relationshipStatus: str?}}

@endgroup

@group allow-lists
@endpoint GET /allow-lists/{id}
@desc Retrieves the settings and status of an allow list.
@required {id: str}
@returns(200) {arn: str?, createdAt: str(timestamp)?, criteria: AllowListCriteria?{regex: str?, s3WordsList: S3WordsList?{bucketName: str, objectKey: str}}, description: str?, id: str?, name: str?, status: AllowListStatus?{code: str, description: str?}, tags: map<str,str>?, updatedAt: str(timestamp)?}

@endgroup

@group automated-discovery
@endpoint GET /automated-discovery/configuration
@desc Retrieves the configuration settings and status of automated sensitive data discovery for an organization or standalone account.
@returns(200) {autoEnableOrganizationMembers: str?, classificationScopeId: str?, disabledAt: str(timestamp)?, firstEnabledAt: str(timestamp)?, lastUpdatedAt: str(timestamp)?, sensitivityInspectionTemplateId: str?, status: str?}

@endgroup

@group datasources
@endpoint POST /datasources/s3/statistics
@desc Retrieves (queries) aggregated statistical data about all the S3 buckets that Amazon Macie monitors and analyzes for an account.
@optional {accountId: str}
@returns(200) {bucketCount: int(i64)?, bucketCountByEffectivePermission: BucketCountByEffectivePermission?{publiclyAccessible: int(i64)?, publiclyReadable: int(i64)?, publiclyWritable: int(i64)?, unknown: int(i64)?}, bucketCountByEncryptionType: BucketCountByEncryptionType?{kmsManaged: int(i64)?, s3Managed: int(i64)?, unencrypted: int(i64)?, unknown: int(i64)?}, bucketCountByObjectEncryptionRequirement: BucketCountPolicyAllowsUnencryptedObjectUploads?{allowsUnencryptedObjectUploads: int(i64)?, deniesUnencryptedObjectUploads: int(i64)?, unknown: int(i64)?}, bucketCountBySharedAccessType: BucketCountBySharedAccessType?{external: int(i64)?, internal: int(i64)?, notShared: int(i64)?, unknown: int(i64)?}, bucketStatisticsBySensitivity: BucketStatisticsBySensitivity?{classificationError: SensitivityAggregations?{classifiableSizeInBytes: int(i64)?, publiclyAccessibleCount: int(i64)?, totalCount: int(i64)?, totalSizeInBytes: int(i64)?}, notClassified: SensitivityAggregations?{classifiableSizeInBytes: int(i64)?, publiclyAccessibleCount: int(i64)?, totalCount: int(i64)?, totalSizeInBytes: int(i64)?}, notSensitive: SensitivityAggregations?{classifiableSizeInBytes: int(i64)?, publiclyAccessibleCount: int(i64)?, totalCount: int(i64)?, totalSizeInBytes: int(i64)?}, sensitive: SensitivityAggregations?{classifiableSizeInBytes: int(i64)?, publiclyAccessibleCount: int(i64)?, totalCount: int(i64)?, totalSizeInBytes: int(i64)?}}, classifiableObjectCount: int(i64)?, classifiableSizeInBytes: int(i64)?, lastUpdated: str(timestamp)?, objectCount: int(i64)?, sizeInBytes: int(i64)?, sizeInBytesCompressed: int(i64)?, unclassifiableObjectCount: ObjectLevelStatistics?{fileType: int(i64)?, storageClass: int(i64)?, total: int(i64)?}, unclassifiableObjectSizeInBytes: ObjectLevelStatistics?{fileType: int(i64)?, storageClass: int(i64)?, total: int(i64)?}}

@endgroup

@group classification-export-configuration
@endpoint GET /classification-export-configuration
@desc Retrieves the configuration settings for storing data classification results.
@returns(200) {configuration: ClassificationExportConfiguration?{s3Destination: S3Destination?{bucketName: str, keyPrefix: str?, kmsKeyArn: str}}}

@endgroup

@group classification-scopes
@endpoint GET /classification-scopes/{id}
@desc Retrieves the classification scope settings for an account.
@required {id: str}
@returns(200) {id: str?, name: str?, s3: S3ClassificationScope?{excludes: S3ClassificationScopeExclusion{bucketNames: [str]}}}

@endgroup

@group custom-data-identifiers
@endpoint GET /custom-data-identifiers/{id}
@desc Retrieves the criteria and other settings for a custom data identifier.
@required {id: str}
@returns(200) {arn: str?, createdAt: str(timestamp)?, deleted: bool?, description: str?, id: str?, ignoreWords: [str]?, keywords: [str]?, maximumMatchDistance: int?, name: str?, regex: str?, severityLevels: [SeverityLevel]?, tags: map<str,str>?}

@endgroup

@group findings
@endpoint POST /findings/statistics
@desc Retrieves (queries) aggregated statistical data about findings.
@required {groupBy: str}
@optional {findingCriteria: FindingCriteria, size: int, sortCriteria: FindingStatisticsSortCriteria}
@returns(200) {countsByGroup: [GroupCount]?}

@endpoint POST /findings/describe
@desc Retrieves the details of one or more findings.
@required {findingIds: [str]}
@optional {sortCriteria: SortCriteria}
@returns(200) {findings: [Finding]?}

@endgroup

@group findingsfilters
@endpoint GET /findingsfilters/{id}
@desc Retrieves the criteria and other settings for a findings filter.
@required {id: str}
@returns(200) {action: str?, arn: str?, description: str?, findingCriteria: FindingCriteria?{criterion: map<str,CriterionAdditionalProperties>?}, id: str?, name: str?, position: int?, tags: map<str,str>?}

@endgroup

@group findings-publication-configuration
@endpoint GET /findings-publication-configuration
@desc Retrieves the configuration settings for publishing findings to Security Hub.
@returns(200) {securityHubConfiguration: SecurityHubConfiguration?{publishClassificationFindings: bool, publishPolicyFindings: bool}}

@endgroup

@group invitations
@endpoint GET /invitations/count
@desc Retrieves the count of Amazon Macie membership invitations that were received by an account.
@returns(200) {invitationsCount: int(i64)?}

@endgroup

@group macie
@endpoint GET /macie
@desc Retrieves the status and configuration settings for an Amazon Macie account.
@returns(200) {createdAt: str(timestamp)?, findingPublishingFrequency: str?, serviceRole: str?, status: str?, updatedAt: str(timestamp)?}

@endgroup

@group master
@endpoint GET /master
@desc (Deprecated) Retrieves information about the Amazon Macie administrator account for an account. This operation has been replaced by the GetAdministratorAccount operation.
@returns(200) {master: Invitation?{accountId: str?, invitationId: str?, invitedAt: str(timestamp)?, relationshipStatus: str?}}

@endgroup

@group members
@endpoint GET /members/{id}
@desc Retrieves information about an account that's associated with an Amazon Macie administrator account.
@required {id: str}
@returns(200) {accountId: str?, administratorAccountId: str?, arn: str?, email: str?, invitedAt: str(timestamp)?, masterAccountId: str?, relationshipStatus: str?, tags: map<str,str>?, updatedAt: str(timestamp)?}

@endgroup

@group resource-profiles
@endpoint GET /resource-profiles
@desc Retrieves (queries) sensitive data discovery statistics and the sensitivity score for an S3 bucket.
@required {resourceArn: str}
@returns(200) {profileUpdatedAt: str(timestamp)?, sensitivityScore: int?, sensitivityScoreOverridden: bool?, statistics: ResourceStatistics?{totalBytesClassified: int(i64)?, totalDetections: int(i64)?, totalDetectionsSuppressed: int(i64)?, totalItemsClassified: int(i64)?, totalItemsSensitive: int(i64)?, totalItemsSkipped: int(i64)?, totalItemsSkippedInvalidEncryption: int(i64)?, totalItemsSkippedInvalidKms: int(i64)?, totalItemsSkippedPermissionDenied: int(i64)?}}

@endgroup

@group reveal-configuration
@endpoint GET /reveal-configuration
@desc Retrieves the status and configuration settings for retrieving occurrences of sensitive data reported by findings.
@returns(200) {configuration: RevealConfiguration?{kmsKeyId: str?, status: str}, retrievalConfiguration: RetrievalConfiguration?{externalId: str?, retrievalMode: str, roleName: str?}}

@endgroup

@group findings
@endpoint GET /findings/{findingId}/reveal
@desc Retrieves occurrences of sensitive data reported by a finding.
@required {findingId: str}
@returns(200) {error: str?, sensitiveDataOccurrences: map<str,[DetectedDataDetails]>?, status: str?}

@endpoint GET /findings/{findingId}/reveal/availability
@desc Checks whether occurrences of sensitive data can be retrieved for a finding.
@required {findingId: str}
@returns(200) {code: str?, reasons: [str]?}

@endgroup

@group templates
@endpoint GET /templates/sensitivity-inspections/{id}
@desc Retrieves the settings for the sensitivity inspection template for an account.
@required {id: str}
@returns(200) {description: str?, excludes: SensitivityInspectionTemplateExcludes?{managedDataIdentifierIds: [str]?}, includes: SensitivityInspectionTemplateIncludes?{allowListIds: [str]?, customDataIdentifierIds: [str]?, managedDataIdentifierIds: [str]?}, name: str?, sensitivityInspectionTemplateId: str?}

@endgroup

@group usage
@endpoint POST /usage/statistics
@desc Retrieves (queries) quotas and aggregated usage data for one or more accounts.
@optional {filterBy: [UsageStatisticsFilter], maxResults: int, nextToken: str, sortBy: UsageStatisticsSortBy, timeRange: str}
@returns(200) {nextToken: str?, records: [UsageRecord]?, timeRange: str?}

@endpoint GET /usage
@desc Retrieves (queries) aggregated usage data for an account.
@optional {timeRange: str}
@returns(200) {timeRange: str?, usageTotals: [UsageTotal]?}

@endgroup

@group allow-lists
@endpoint GET /allow-lists
@desc Retrieves a subset of information about all the allow lists for an account.
@optional {maxResults: int, nextToken: str}
@returns(200) {allowLists: [AllowListSummary]?, nextToken: str?}

@endgroup

@group automated-discovery
@endpoint GET /automated-discovery/accounts
@desc Retrieves the status of automated sensitive data discovery for one or more accounts.
@optional {accountIds: [str], maxResults: int, nextToken: str}
@returns(200) {items: [AutomatedDiscoveryAccount]?, nextToken: str?}

@endgroup

@group jobs
@endpoint POST /jobs/list
@desc Retrieves a subset of information about one or more classification jobs.
@optional {filterCriteria: ListJobsFilterCriteria, maxResults: int, nextToken: str, sortCriteria: ListJobsSortCriteria}
@returns(200) {items: [JobSummary]?, nextToken: str?}

@endgroup

@group classification-scopes
@endpoint GET /classification-scopes
@desc Retrieves a subset of information about the classification scope for an account.
@optional {name: str, nextToken: str}
@returns(200) {classificationScopes: [ClassificationScopeSummary]?, nextToken: str?}

@endgroup

@group custom-data-identifiers
@endpoint POST /custom-data-identifiers/list
@desc Retrieves a subset of information about all the custom data identifiers for an account.
@optional {maxResults: int, nextToken: str}
@returns(200) {items: [CustomDataIdentifierSummary]?, nextToken: str?}

@endgroup

@group findings
@endpoint POST /findings
@desc Retrieves a subset of information about one or more findings.
@optional {findingCriteria: FindingCriteria, maxResults: int, nextToken: str, sortCriteria: SortCriteria}
@returns(200) {findingIds: [str]?, nextToken: str?}

@endgroup

@group findingsfilters
@endpoint GET /findingsfilters
@desc Retrieves a subset of information about all the findings filters for an account.
@optional {maxResults: int, nextToken: str}
@returns(200) {findingsFilterListItems: [FindingsFilterListItem]?, nextToken: str?}

@endgroup

@group invitations
@endpoint GET /invitations
@desc Retrieves information about Amazon Macie membership invitations that were received by an account.
@optional {maxResults: int, nextToken: str}
@returns(200) {invitations: [Invitation]?, nextToken: str?}

@endgroup

@group managed-data-identifiers
@endpoint POST /managed-data-identifiers/list
@desc Retrieves information about all the managed data identifiers that Amazon Macie currently provides.
@optional {nextToken: str}
@returns(200) {items: [ManagedDataIdentifierSummary]?, nextToken: str?}

@endgroup

@group members
@endpoint GET /members
@desc Retrieves information about the accounts that are associated with an Amazon Macie administrator account.
@optional {maxResults: int, nextToken: str, onlyAssociated: str}
@returns(200) {members: [Member]?, nextToken: str?}

@endgroup

@group admin
@endpoint GET /admin
@desc Retrieves information about the delegated Amazon Macie administrator account for an organization in Organizations.
@optional {maxResults: int, nextToken: str}
@returns(200) {adminAccounts: [AdminAccount]?, nextToken: str?}

@endgroup

@group resource-profiles
@endpoint GET /resource-profiles/artifacts
@desc Retrieves information about objects that Amazon Macie selected from an S3 bucket for automated sensitive data discovery.
@required {resourceArn: str}
@optional {nextToken: str}
@returns(200) {artifacts: [ResourceProfileArtifact]?, nextToken: str?}

@endpoint GET /resource-profiles/detections
@desc Retrieves information about the types and amount of sensitive data that Amazon Macie found in an S3 bucket.
@required {resourceArn: str}
@optional {maxResults: int, nextToken: str}
@returns(200) {detections: [Detection]?, nextToken: str?}

@endgroup

@group templates
@endpoint GET /templates/sensitivity-inspections
@desc Retrieves a subset of information about the sensitivity inspection template for an account.
@optional {maxResults: int, nextToken: str}
@returns(200) {nextToken: str?, sensitivityInspectionTemplates: [SensitivityInspectionTemplatesEntry]?}

@endgroup

@group tags
@endpoint GET /tags/{resourceArn}
@desc Retrieves the tags (keys and values) that are associated with an Amazon Macie resource.
@required {resourceArn: str}
@returns(200) {tags: map<str,str>?}

@endgroup

@group classification-export-configuration
@endpoint PUT /classification-export-configuration
@desc Adds or updates the configuration settings for storing data classification results.
@required {configuration: ClassificationExportConfiguration}
@returns(200) {configuration: ClassificationExportConfiguration?{s3Destination: S3Destination?{bucketName: str, keyPrefix: str?, kmsKeyArn: str}}}

@endgroup

@group findings-publication-configuration
@endpoint PUT /findings-publication-configuration
@desc Updates the configuration settings for publishing findings to Security Hub.
@optional {clientToken: str, securityHubConfiguration: SecurityHubConfiguration}

@endgroup

@group datasources
@endpoint POST /datasources/search-resources
@desc Retrieves (queries) statistical data and other information about Amazon Web Services resources that Amazon Macie monitors and analyzes.
@optional {bucketCriteria: SearchResourcesBucketCriteria, maxResults: int, nextToken: str, sortCriteria: SearchResourcesSortCriteria}
@returns(200) {matchingResources: [MatchingResource]?, nextToken: str?}

@endgroup

@group tags
@endpoint POST /tags/{resourceArn}
@desc Adds or updates one or more tags (keys and values) that are associated with an Amazon Macie resource.
@required {resourceArn: str, tags: map<str,str>}

@endgroup

@group custom-data-identifiers
@endpoint POST /custom-data-identifiers/test
@desc Tests criteria for a custom data identifier.
@required {regex: str, sampleText: str}
@optional {ignoreWords: [str], keywords: [str], maximumMatchDistance: int}
@returns(200) {matchCount: int?}

@endgroup

@group tags
@endpoint DELETE /tags/{resourceArn}
@desc Removes one or more tags (keys and values) from an Amazon Macie resource.
@required {resourceArn: str, tagKeys: [str]}

@endgroup

@group allow-lists
@endpoint PUT /allow-lists/{id}
@desc Updates the settings for an allow list.
@required {id: str, criteria: AllowListCriteria, name: str}
@optional {description: str}
@returns(200) {arn: str?, id: str?}

@endgroup

@group automated-discovery
@endpoint PUT /automated-discovery/configuration
@desc Changes the configuration settings and status of automated sensitive data discovery for an organization or standalone account.
@required {status: str}
@optional {autoEnableOrganizationMembers: str}

@endgroup

@group jobs
@endpoint PATCH /jobs/{jobId}
@desc Changes the status of a classification job.
@required {jobId: str, jobStatus: str}

@endgroup

@group classification-scopes
@endpoint PATCH /classification-scopes/{id}
@desc Updates the classification scope settings for an account.
@required {id: str}
@optional {s3: S3ClassificationScopeUpdate}

@endgroup

@group findingsfilters
@endpoint PATCH /findingsfilters/{id}
@desc Updates the criteria and other settings for a findings filter.
@required {id: str}
@optional {action: str, clientToken: str, description: str, findingCriteria: FindingCriteria, name: str, position: int}
@returns(200) {arn: str?, id: str?}

@endgroup

@group macie
@endpoint PATCH /macie
@desc Suspends or re-enables Amazon Macie, or updates the configuration settings for a Macie account.
@optional {findingPublishingFrequency: str, status: str}

@endpoint PATCH /macie/members/{id}
@desc Enables an Amazon Macie administrator to suspend or re-enable Macie for a member account.
@required {id: str, status: str}

@endgroup

@group admin
@endpoint PATCH /admin/configuration
@desc Updates the Amazon Macie configuration settings for an organization in Organizations.
@required {autoEnable: bool}

@endgroup

@group resource-profiles
@endpoint PATCH /resource-profiles
@desc Updates the sensitivity score for an S3 bucket.
@required {resourceArn: str}
@optional {sensitivityScoreOverride: int}

@endpoint PATCH /resource-profiles/detections
@desc Updates the sensitivity scoring settings for an S3 bucket.
@required {resourceArn: str}
@optional {suppressDataIdentifiers: [SuppressDataIdentifier]}

@endgroup

@group reveal-configuration
@endpoint PUT /reveal-configuration
@desc Updates the status and configuration settings for retrieving occurrences of sensitive data reported by findings.
@required {configuration: RevealConfiguration}
@optional {retrievalConfiguration: UpdateRetrievalConfiguration}
@returns(200) {configuration: RevealConfiguration?{kmsKeyId: str?, status: str}, retrievalConfiguration: RetrievalConfiguration?{externalId: str?, retrievalMode: str, roleName: str?}}

@endgroup

@group templates
@endpoint PUT /templates/sensitivity-inspections/{id}
@desc Updates the settings for the sensitivity inspection template for an account.
@required {id: str}
@optional {description: str, excludes: SensitivityInspectionTemplateExcludes, includes: SensitivityInspectionTemplateIncludes}

@endgroup

@end
