# Attack Surface Report # Issue Types ## Retrieves Security Center Issues Types `intel.attack_surface_report.issue_types.get(IssueTypeGetParams**kwargs) -> SyncSinglePage[IssueTypeGetResponse]` **get** `/accounts/{account_id}/intel/attack-surface-report/issue-types` Lists all available issue types in Security Center, describing categories of security issues. ### Parameters - `account_id: str` Identifier. ### Returns - `str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.intel.attack_surface_report.issue_types.get( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ "string" ] } ``` ## Domain Types ### Issue Type Get Response - `str` # Issues ## Retrieves Security Center Issues `intel.attack_surface_report.issues.list(IssueListParams**kwargs) -> SyncV4PagePagination[Optional[IssueListResponse]]` **get** `/accounts/{account_id}/intel/attack-surface-report/issues` Lists all Security Center issues for the account, showing active security problems requiring attention. ### Parameters - `account_id: str` Identifier. - `dismissed: Optional[bool]` - `issue_class: Optional[SequenceNotStr[str]]` - `issue_class_neq: Optional[SequenceNotStr[str]]` - `issue_type: Optional[List[IssueType]]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `issue_type_neq: Optional[List[IssueType]]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `page: Optional[int]` Specifies the current page within paginated list of results. - `per_page: Optional[int]` Sets the number of results per page of results. - `product: Optional[SequenceNotStr[str]]` - `product_neq: Optional[SequenceNotStr[str]]` - `severity: Optional[List[SeverityQueryParam]]` - `"low"` - `"moderate"` - `"critical"` - `severity_neq: Optional[List[SeverityQueryParam]]` - `"low"` - `"moderate"` - `"critical"` - `subject: Optional[SequenceNotStr[str]]` - `subject_neq: Optional[SequenceNotStr[str]]` ### Returns - `class IssueListResponse: …` - `count: Optional[int]` Indicates the total number of results. - `issues: Optional[List[Issue]]` - `id: Optional[str]` - `dismissed: Optional[bool]` - `issue_class: Optional[str]` - `issue_type: Optional[IssueType]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `payload: Optional[IssuePayload]` - `detection_method: Optional[str]` Describes the method used to detect insight. - `zone_tag: Optional[str]` - `resolve_link: Optional[str]` - `resolve_text: Optional[str]` - `severity: Optional[Literal["Low", "Moderate", "Critical"]]` - `"Low"` - `"Moderate"` - `"Critical"` - `since: Optional[datetime]` - `subject: Optional[str]` - `timestamp: Optional[datetime]` - `page: Optional[int]` Specifies the current page within paginated list of results. - `per_page: Optional[int]` Sets the number of results per page of results. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.intel.attack_surface_report.issues.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result.items[0] print(page.count) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "count": 1, "issues": [ { "id": "id", "dismissed": false, "issue_class": "always_use_https_not_enabled", "issue_type": "compliance_violation", "payload": { "detection_method": "We detected security rules referencing multiple IP addresses directly in the rules.", "zone_tag": "zone_tag" }, "resolve_link": "resolve_link", "resolve_text": "resolve_text", "severity": "Low", "since": "2019-12-27T18:11:19.117Z", "subject": "example.com", "timestamp": "2019-12-27T18:11:19.117Z" } ], "page": 1, "per_page": 25 } } ``` ## Retrieves Security Center Issue Counts by Class `intel.attack_surface_report.issues.class_(IssueClassParams**kwargs) -> IssueClassResponse` **get** `/accounts/{account_id}/intel/attack-surface-report/issues/class` Retrieves Security Center issue counts aggregated by classification class. ### Parameters - `account_id: str` Identifier. - `dismissed: Optional[bool]` - `issue_class: Optional[SequenceNotStr[str]]` - `issue_class_neq: Optional[SequenceNotStr[str]]` - `issue_type: Optional[List[IssueType]]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `issue_type_neq: Optional[List[IssueType]]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `product: Optional[SequenceNotStr[str]]` - `product_neq: Optional[SequenceNotStr[str]]` - `severity: Optional[List[SeverityQueryParam]]` - `"low"` - `"moderate"` - `"critical"` - `severity_neq: Optional[List[SeverityQueryParam]]` - `"low"` - `"moderate"` - `"critical"` - `subject: Optional[SequenceNotStr[str]]` - `subject_neq: Optional[SequenceNotStr[str]]` ### Returns - `List[IssueClassResponseItem]` - `count: Optional[int]` - `value: Optional[str]` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.intel.attack_surface_report.issues.class_( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "count": 1, "value": "value" } ] } ``` ## Retrieves Security Center Issue Counts by Severity `intel.attack_surface_report.issues.severity(IssueSeverityParams**kwargs) -> IssueSeverityResponse` **get** `/accounts/{account_id}/intel/attack-surface-report/issues/severity` Retrieves Security Center issue counts aggregated by severity level. ### Parameters - `account_id: str` Identifier. - `dismissed: Optional[bool]` - `issue_class: Optional[SequenceNotStr[str]]` - `issue_class_neq: Optional[SequenceNotStr[str]]` - `issue_type: Optional[List[IssueType]]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `issue_type_neq: Optional[List[IssueType]]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `product: Optional[SequenceNotStr[str]]` - `product_neq: Optional[SequenceNotStr[str]]` - `severity: Optional[List[SeverityQueryParam]]` - `"low"` - `"moderate"` - `"critical"` - `severity_neq: Optional[List[SeverityQueryParam]]` - `"low"` - `"moderate"` - `"critical"` - `subject: Optional[SequenceNotStr[str]]` - `subject_neq: Optional[SequenceNotStr[str]]` ### Returns - `List[IssueSeverityResponseItem]` - `count: Optional[int]` - `value: Optional[str]` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.intel.attack_surface_report.issues.severity( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "count": 1, "value": "value" } ] } ``` ## Retrieves Security Center Issue Counts by Type `intel.attack_surface_report.issues.type(IssueTypeParams**kwargs) -> IssueTypeResponse` **get** `/accounts/{account_id}/intel/attack-surface-report/issues/type` Retrieves Security Center issue counts aggregated by issue type. ### Parameters - `account_id: str` Identifier. - `dismissed: Optional[bool]` - `issue_class: Optional[SequenceNotStr[str]]` - `issue_class_neq: Optional[SequenceNotStr[str]]` - `issue_type: Optional[List[IssueType]]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `issue_type_neq: Optional[List[IssueType]]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `product: Optional[SequenceNotStr[str]]` - `product_neq: Optional[SequenceNotStr[str]]` - `severity: Optional[List[SeverityQueryParam]]` - `"low"` - `"moderate"` - `"critical"` - `severity_neq: Optional[List[SeverityQueryParam]]` - `"low"` - `"moderate"` - `"critical"` - `subject: Optional[SequenceNotStr[str]]` - `subject_neq: Optional[SequenceNotStr[str]]` ### Returns - `List[IssueTypeResponseItem]` - `count: Optional[int]` - `value: Optional[str]` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.intel.attack_surface_report.issues.type( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "count": 1, "value": "value" } ] } ``` ## Archives Security Center Insight `intel.attack_surface_report.issues.dismiss(strissue_id, IssueDismissParams**kwargs) -> IssueDismissResponse` **put** `/accounts/{account_id}/intel/attack-surface-report/{issue_id}/dismiss` Deprecated endpoint for archiving Security Center insights. Use the newer archive-security-center-insight endpoint instead. ### Parameters - `account_id: str` Identifier. - `issue_id: str` - `dismiss: Optional[bool]` ### Returns - `class IssueDismissResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.intel.attack_surface_report.issues.dismiss( issue_id="issue_id", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.errors) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true } ``` ## Domain Types ### Issue Type - `Literal["compliance_violation", "email_security", "exposed_infrastructure", 3 more]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` ### Severity Query Param - `Literal["low", "moderate", "critical"]` - `"low"` - `"moderate"` - `"critical"` ### Issue List Response - `class IssueListResponse: …` - `count: Optional[int]` Indicates the total number of results. - `issues: Optional[List[Issue]]` - `id: Optional[str]` - `dismissed: Optional[bool]` - `issue_class: Optional[str]` - `issue_type: Optional[IssueType]` - `"compliance_violation"` - `"email_security"` - `"exposed_infrastructure"` - `"insecure_configuration"` - `"weak_authentication"` - `"configuration_suggestion"` - `payload: Optional[IssuePayload]` - `detection_method: Optional[str]` Describes the method used to detect insight. - `zone_tag: Optional[str]` - `resolve_link: Optional[str]` - `resolve_text: Optional[str]` - `severity: Optional[Literal["Low", "Moderate", "Critical"]]` - `"Low"` - `"Moderate"` - `"Critical"` - `since: Optional[datetime]` - `subject: Optional[str]` - `timestamp: Optional[datetime]` - `page: Optional[int]` Specifies the current page within paginated list of results. - `per_page: Optional[int]` Sets the number of results per page of results. ### Issue Class Response - `List[IssueClassResponseItem]` - `count: Optional[int]` - `value: Optional[str]` ### Issue Severity Response - `List[IssueSeverityResponseItem]` - `count: Optional[int]` - `value: Optional[str]` ### Issue Type Response - `List[IssueTypeResponseItem]` - `count: Optional[int]` - `value: Optional[str]` ### Issue Dismiss Response - `class IssueDismissResponse: …` - `errors: List[Error]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[ErrorSource]` - `pointer: Optional[str]` - `messages: List[Message]` - `code: int` - `message: str` - `documentation_url: Optional[str]` - `source: Optional[MessageSource]` - `pointer: Optional[str]` - `success: Literal[true]` Whether the API call was successful. - `true`