Skip to content
Start here

Get latest annotations

radar.annotations.list(AnnotationListParams**kwargs) -> AnnotationListResponse
GET/radar/annotations

Retrieves the latest annotations.

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
Accepted Permissions (at least one required)
User Details WriteUser Details Read
ParametersExpand Collapse
asn: Optional[int]

Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer.

bot: Optional[str]

Filters results by bot.

maxLength100
ca: Optional[str]

Filters results by certificate authority.

maxLength100
data_source: Optional[Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]]

Filters results by data source.

One of the following:
"ALL"
"AI_BOTS"
"AI_GATEWAY"
"BGP"
"BOTS"
"CONNECTION_ANOMALY"
"CT"
"DNS"
"DNS_MAGNITUDE"
"DNS_AS112"
"DOS"
"EMAIL_ROUTING"
"EMAIL_SECURITY"
"FW"
"FW_PG"
"HTTP"
"HTTP_CONTROL"
"HTTP_CRAWLER_REFERER"
"HTTP_ORIGINS"
"IQI"
"LEAKED_CREDENTIALS"
"NET"
"ROBOTS_TXT"
"SPEED"
"WORKERS_AI"
date_end: Optional[Union[str, datetime]]

End of the date range (inclusive). Alternative to dateRange; provide together with dateStart.

formatdate-time
date_range: Optional[str]

Filters results by a relative date range ending at the current time. Use <n>d for days (up to 364d) or <n>w for weeks (up to 52w), e.g. 7d. Append control to request the equivalent previous period for comparison: the comparison window is shifted back by the current window’s length rounded up to a whole number of weeks, so it keeps the same weekday alignment and does not overlap the current window (e.g. 3dcontrol covers days -10 to -7, 7dcontrol covers days -14 to -7, 28dcontrol covers days -56 to -28, and 10dcontrol covers days -24 to -14). Mutually exclusive with dateStart/dateEnd.

date_start: Optional[Union[str, datetime]]

Start of the date range (inclusive). Alternative to dateRange; provide together with dateEnd.

formatdate-time
event_type: Optional[Literal["EVENT", "GENERAL", "OUTAGE", 3 more]]

Filters results by event type. EVENT is a legacy alias for GENERAL.

One of the following:
"EVENT"
"GENERAL"
"OUTAGE"
"PARTIAL_PROJECTION"
"PIPELINE"
"TRAFFIC_ANOMALY"
format: Optional[Literal["JSON", "CSV"]]

Format in which results will be returned.

One of the following:
"JSON"
"CSV"
geo_id: Optional[str]

Filters results by geolocation. Refer to GeoNames.

maxLength100
limit: Optional[int]

Limits the number of objects returned in the response.

exclusiveMinimum
minimum0
location: Optional[str]

Filters results by location. Specify an alpha-2 location code.

maxLength2
minLength2
log: Optional[str]

Filters results by certificate log.

maxLength100
offset: Optional[int]

Skips the specified number of objects before fetching the results.

minimum0
origin: Optional[str]

Filters results by origin.

maxLength100
outage_cause: Optional[Literal["BLOCKING", "CABLE_CUT", "CYBERATTACK", 14 more]]

Filters results by outage cause.

One of the following:
"BLOCKING"
"CABLE_CUT"
"CYBERATTACK"
"DNS"
"FIRE"
"GOVERNMENT_DIRECTED"
"MAINTENANCE"
"MECHANICAL"
"MILITARY_ACTION"
"MISCONFIGURATION"
"NATURAL_DISASTER"
"NETWORK_PROBLEM"
"POWER_OUTAGE"
"SOFTWARE"
"TECHNICAL_PROBLEM"
"UNKNOWN"
"WEATHER"
outage_type: Optional[Literal["NATIONWIDE", "REGIONAL", "NETWORK", "PLATFORM"]]

Filters results by outage type.

One of the following:
"NATIONWIDE"
"REGIONAL"
"NETWORK"
"PLATFORM"
query: Optional[str]

Filters results by a free-text match on the annotation description, id, or linked entities (location, ASN, origin).

maxLength100
tags: Optional[List[Literal["ADM1", "ADM2", "API_TRAFFIC", 93 more]]]

Filters results by annotation tag. Matches annotations carrying at least one of the given tags.

One of the following:
"ADM1"
"ADM2"
"API_TRAFFIC"
"ARC"
"AS"
"ASN"
"ATTACKS"
"AUTHOR"
"BANDWIDTH"
"BITRATE"
"BOT"
"BOT_CATEGORY"
"BOT_CLASS"
"BOT_KIND"
"BOT_OPERATOR"
"BROWSER"
"BROWSER_FAMILY"
"BYTES"
"CA"
"CACHE_HIT"
"CA_OWNER"
"CHECK_RESULT"
"CLIENT_TYPE"
"COMPROMISED"
"CONTENT_TYPE"
"CRAWL_PURPOSE"
"CRAWL_REFER_RATIO"
"DEVICE_TYPE"
"DKIM"
"DMARC"
"DNS"
"DNSSEC"
"DNSSEC_AWARE"
"DNSSEC_E2E"
"DOMAIN_CATEGORY"
"DURATION"
"EDNS"
"ENCRYPTED"
"ENTRY_TYPE"
"EXPIRATION_STATUS"
"HAS_IPS"
"HAS_MATCHING_ANSWER"
"HAS_WILDCARDS"
"HTTP_METHOD"
"HTTP_PROTOCOL"
"HTTP_VERSION"
"INDUSTRY"
"IP_VERSION"
"JITTER"
"KEY_AGREEMENT"
"LATENCY"
"LOCATION"
"LOCATION_LATENCY"
"LOG"
"LOG_API"
"LOG_OPERATOR"
"MALICIOUS"
"MANAGED_RULES"
"MITIGATION_PRODUCT"
"MODEL"
"NAMESERVER_LATENCY"
"ORIGIN"
"ORIGIN_AS"
"ORIGIN_LOCATION"
"ORIGIN_TARGET_LOCATION_PAIR"
"OS"
"PERCENTILE"
"POST_QUANTUM"
"PREFIX"
"PRODUCT"
"PROTOCOL"
"PROVIDER"
"PUBLIC_KEY_ALGORITHM"
"QUERY_TYPE"
"REFERER"
"REGION"
"RESPONSE_CODE"
"RESPONSE_STATUS"
"RESPONSE_STATUS_CATEGORY"
"RESPONSE_TTL"
"SIGNATURE_ALGORITHM"
"SPAM"
"SPF"
"SPOOF"
"SUCCESS_RATE"
"TARGET_LOCATION"
"TASK"
"THREAT_CATEGORY"
"TLD"
"TLD_DNS_MAGNITUDE"
"TLS_VERSION"
"UPDATE_TYPE"
"USER_AGENT"
"VALIDATION_LEVEL"
"VECTOR"
"VERTICAL"
tld: Optional[str]

Filters results by top-level domain.

maxLength63
minLength2
ReturnsExpand Collapse
class AnnotationListResponse:
annotations: List[Annotation]
id: str
asns: List[int]
asns_details: List[AnnotationASNsDetail]
asn: str
location: Optional[AnnotationASNsDetailLocation]
code: str
name: str
name: Optional[str]
data_source: str
description: Optional[str]
end_date: Optional[str]
entities: List[AnnotationEntity]
entity_name: Optional[str]
entity_type: str
entity_value: str
event_type: str
geo_ids: List[str]
linked_url: Optional[str]
locations: List[str]
locations_details: List[Optional[AnnotationLocationsDetail]]
code: str
name: str
origins: List[str]
origins_details: List[AnnotationOriginsDetail]
name: Optional[str]
origin: str
outage: Optional[AnnotationOutage]
outage_cause: str
outage_type: str
scope: Optional[str]
start_date: str
tags: List[str]

Get latest annotations

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
annotations = client.radar.annotations.list()
print(annotations.annotations)
{
  "result": {
    "annotations": [
      {
        "id": "550",
        "asns": [
          189
        ],
        "asnsDetails": [
          {
            "asn": "189",
            "location": {
              "code": "US",
              "name": "United States"
            },
            "name": "LUMEN-LEGACY-L3-PARTITION"
          }
        ],
        "dataSource": "ALL",
        "description": "example",
        "endDate": "2022-09-08T10:00:28Z",
        "entities": [
          {
            "entityName": "GPTBot",
            "entityType": "BOT",
            "entityValue": "gptbot"
          }
        ],
        "eventType": "OUTAGE",
        "geoIds": [
          "2267057"
        ],
        "linkedUrl": "http://example.com",
        "locations": [
          "US"
        ],
        "locationsDetails": [
          {
            "code": "US",
            "name": "United States"
          }
        ],
        "origins": [
          "amazon-us-east-1"
        ],
        "originsDetails": [
          {
            "name": "us-east-1 Amazon Web Services",
            "origin": "amazon-us-east-1"
          }
        ],
        "outage": {
          "outageCause": "CABLE_CUT",
          "outageType": "NATIONWIDE"
        },
        "scope": "Colima, Michoacán, México",
        "startDate": "2022-09-06T10:00:28Z",
        "tags": [
          "string"
        ]
      }
    ]
  },
  "success": true
}
Returns Examples
{
  "result": {
    "annotations": [
      {
        "id": "550",
        "asns": [
          189
        ],
        "asnsDetails": [
          {
            "asn": "189",
            "location": {
              "code": "US",
              "name": "United States"
            },
            "name": "LUMEN-LEGACY-L3-PARTITION"
          }
        ],
        "dataSource": "ALL",
        "description": "example",
        "endDate": "2022-09-08T10:00:28Z",
        "entities": [
          {
            "entityName": "GPTBot",
            "entityType": "BOT",
            "entityValue": "gptbot"
          }
        ],
        "eventType": "OUTAGE",
        "geoIds": [
          "2267057"
        ],
        "linkedUrl": "http://example.com",
        "locations": [
          "US"
        ],
        "locationsDetails": [
          {
            "code": "US",
            "name": "United States"
          }
        ],
        "origins": [
          "amazon-us-east-1"
        ],
        "originsDetails": [
          {
            "name": "us-east-1 Amazon Web Services",
            "origin": "amazon-us-east-1"
          }
        ],
        "outage": {
          "outageCause": "CABLE_CUT",
          "outageType": "NATIONWIDE"
        },
        "scope": "Colima, Michoacán, México",
        "startDate": "2022-09-06T10:00:28Z",
        "tags": [
          "string"
        ]
      }
    ]
  },
  "success": true
}