Skip to content
Start here

Retrieves Security Center Insights

security_center.insights.list(InsightListParams**kwargs) -> SyncV4PagePagination[Optional[InsightListResponse]]
GET/{accounts_or_zones}/{account_or_zone_id}/security-center/insights

Lists all Security Center insights for the account or zone, showing security findings and recommendations.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
ParametersExpand Collapse
account_id: Optional[str]

The Account ID to use for this endpoint. Mutually exclusive with the Zone ID.

zone_id: Optional[str]

The Zone ID to use for this endpoint. Mutually exclusive with the Account ID.

dismissed: Optional[bool]
issue_class: Optional[SequenceNotStr[str]]
issue_class_neq: Optional[SequenceNotStr[str]]
issue_type: Optional[List[IssueType]]
One of the following:
"compliance_violation"
"email_security"
"exposed_infrastructure"
"insecure_configuration"
"weak_authentication"
"configuration_suggestion"
issue_type_neq: Optional[List[IssueType]]
One of the following:
"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.

maximum1000
minimum1
product: Optional[SequenceNotStr[str]]
product_neq: Optional[SequenceNotStr[str]]
severity: Optional[List[SeverityQueryParam]]
One of the following:
"low"
"moderate"
"critical"
severity_neq: Optional[List[SeverityQueryParam]]
One of the following:
"low"
"moderate"
"critical"
subject: Optional[SequenceNotStr[str]]
subject_neq: Optional[SequenceNotStr[str]]
ReturnsExpand Collapse
class InsightListResponse:
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]
One of the following:
"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_text: Optional[str]
severity: Optional[Literal["Low", "Moderate", "Critical"]]
One of the following:
"Low"
"Moderate"
"Critical"
since: Optional[datetime]
formatdate-time
subject: Optional[str]
timestamp: Optional[datetime]
formatdate-time
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.

maximum1000
minimum1

Retrieves Security Center Insights

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.security_center.insights.list(
    account_id="account_id",
)
page = page.result.items[0]
print(page.count)
{
  "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
  }
}
Returns Examples
{
  "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
  }
}