# DNS ## Get DNS summary by dimension `radar.dns.summary_v2(Literal["AS", "CACHE_HIT", "DNSSEC", 11 more]dimension, DNSSummaryV2Params**kwargs) -> DNSSummaryV2Response` **get** `/radar/dns/summary/{dimension}` Retrieves the distribution of DNS queries by the specified dimension. ### Parameters - `dimension: Literal["AS", "CACHE_HIT", "DNSSEC", 11 more]` Specifies the attribute by which to group the results. - `"AS"` - `"CACHE_HIT"` - `"DNSSEC"` - `"DNSSEC_AWARE"` - `"DNSSEC_E2E"` - `"IP_VERSION"` - `"LOCATION"` - `"MATCHING_ANSWER"` - `"PROTOCOL"` - `"QUERY_TYPE"` - `"RESPONSE_CODE"` - `"RESPONSE_TTL"` - `"TLD"` - `"TLD_DNS_MAGNITUDE"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `cache_hit: Optional[Iterable[bool]]` Filters results based on cache status. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `dnssec: Optional[List[Literal["INVALID", "INSECURE", "SECURE", "OTHER"]]]` Filters results based on DNSSEC (DNS Security Extensions) support. - `"INVALID"` - `"INSECURE"` - `"SECURE"` - `"OTHER"` - `dnssec_aware: Optional[List[Literal["SUPPORTED", "NOT_SUPPORTED"]]]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `"SUPPORTED"` - `"NOT_SUPPORTED"` - `dnssec_e2e: Optional[Iterable[bool]]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `ip_version: Optional[List[Literal["IPv4", "IPv6"]]]` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit_per_group: Optional[int]` Limits the number of objects per group to the top items within the specified time range. When item count exceeds the limit, extra items appear grouped under an "other" category. - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `matching_answer: Optional[Iterable[bool]]` Filters results based on whether the queries have a matching answer. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `response_ttl: Optional[List[Literal["LTE_1M", "GT_1M_LTE_5M", "GT_5M_LTE_15M", 4 more]]]` Filters results by DNS response TTL. - `"LTE_1M"` - `"GT_1M_LTE_5M"` - `"GT_5M_LTE_15M"` - `"GT_15M_LTE_1H"` - `"GT_1H_LTE_1D"` - `"GT_1D_LTE_1W"` - `"GT_1W"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class DNSSummaryV2Response: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Dict[str, 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.radar.dns.summary_v2( dimension="AS", ) print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "IPv4": "50.168733", "IPv6": "25.084366" } }, "success": true } ``` ## Get DNS queries time series `radar.dns.timeseries(DNSTimeseriesParams**kwargs) -> DNSTimeseriesResponse` **get** `/radar/dns/timeseries` Retrieves normalized query volume to the 1.1.1.1 DNS resolver over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `cache_hit: Optional[Iterable[bool]]` Filters results based on cache status. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `dnssec: Optional[List[Literal["INVALID", "INSECURE", "SECURE", "OTHER"]]]` Filters results based on DNSSEC (DNS Security Extensions) support. - `"INVALID"` - `"INSECURE"` - `"SECURE"` - `"OTHER"` - `dnssec_aware: Optional[List[Literal["SUPPORTED", "NOT_SUPPORTED"]]]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `"SUPPORTED"` - `"NOT_SUPPORTED"` - `dnssec_e2e: Optional[Iterable[bool]]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `ip_version: Optional[List[Literal["IPv4", "IPv6"]]]` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `matching_answer: Optional[Iterable[bool]]` Filters results based on whether the queries have a matching answer. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `response_ttl: Optional[List[Literal["LTE_1M", "GT_1M_LTE_5M", "GT_5M_LTE_15M", 4 more]]]` Filters results by DNS response TTL. - `"LTE_1M"` - `"GT_1M_LTE_5M"` - `"GT_5M_LTE_15M"` - `"GT_15M_LTE_1H"` - `"GT_1H_LTE_1D"` - `"GT_1D_LTE_1W"` - `"GT_1W"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class DNSTimeseriesResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: 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.radar.dns.timeseries() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] } }, "success": true } ``` ## Get DNS time series grouped by dimension `radar.dns.timeseries_groups_v2(Literal["AS", "CACHE_HIT", "DNSSEC", 10 more]dimension, DNSTimeseriesGroupsV2Params**kwargs) -> DNSTimeseriesGroupsV2Response` **get** `/radar/dns/timeseries_groups/{dimension}` Retrieves the distribution of DNS queries grouped by dimension over time. ### Parameters - `dimension: Literal["AS", "CACHE_HIT", "DNSSEC", 10 more]` Specifies the attribute by which to group the results. - `"AS"` - `"CACHE_HIT"` - `"DNSSEC"` - `"DNSSEC_AWARE"` - `"DNSSEC_E2E"` - `"IP_VERSION"` - `"LOCATION"` - `"MATCHING_ANSWER"` - `"PROTOCOL"` - `"QUERY_TYPE"` - `"RESPONSE_CODE"` - `"RESPONSE_TTL"` - `"TLD"` - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `cache_hit: Optional[Iterable[bool]]` Filters results based on cache status. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `dnssec: Optional[List[Literal["INVALID", "INSECURE", "SECURE", "OTHER"]]]` Filters results based on DNSSEC (DNS Security Extensions) support. - `"INVALID"` - `"INSECURE"` - `"SECURE"` - `"OTHER"` - `dnssec_aware: Optional[List[Literal["SUPPORTED", "NOT_SUPPORTED"]]]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `"SUPPORTED"` - `"NOT_SUPPORTED"` - `dnssec_e2e: Optional[Iterable[bool]]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `ip_version: Optional[List[Literal["IPv4", "IPv6"]]]` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit_per_group: Optional[int]` Limits the number of objects per group to the top items within the specified time range. When item count exceeds the limit, extra items appear grouped under an "other" category. - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `matching_answer: Optional[Iterable[bool]]` Filters results based on whether the queries have a matching answer. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `normalization: Optional[Literal["PERCENTAGE", "MIN0_MAX"]]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `response_ttl: Optional[List[Literal["LTE_1M", "GT_1M_LTE_5M", "GT_5M_LTE_15M", 4 more]]]` Filters results by DNS response TTL. - `"LTE_1M"` - `"GT_1M_LTE_5M"` - `"GT_5M_LTE_15M"` - `"GT_15M_LTE_1H"` - `"GT_1H_LTE_1D"` - `"GT_1D_LTE_1W"` - `"GT_1W"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class DNSTimeseriesGroupsV2Response: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `timestamps: List[datetime]` ### 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.radar.dns.timeseries_groups_v2( dimension="AS", ) print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "timestamps": [ "2023-08-08T10:15:00Z" ] } }, "success": true } ``` ## Domain Types ### DNS Summary V2 Response - `class DNSSummaryV2Response: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Dict[str, str]` ### DNS Timeseries Response - `class DNSTimeseriesResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` ### DNS Timeseries Groups V2 Response - `class DNSTimeseriesGroupsV2Response: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `timestamps: List[datetime]` # Top ## Get top ASes by DNS queries `radar.dns.top.ases(TopAsesParams**kwargs) -> TopAsesResponse` **get** `/radar/dns/top/ases` Retrieves the top autonomous systems by DNS queries made to 1.1.1.1 DNS resolver. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `cache_hit: Optional[Iterable[bool]]` Filters results based on cache status. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `dnssec: Optional[List[Literal["INVALID", "INSECURE", "SECURE", "OTHER"]]]` Filters results based on DNSSEC (DNS Security Extensions) support. - `"INVALID"` - `"INSECURE"` - `"SECURE"` - `"OTHER"` - `dnssec_aware: Optional[List[Literal["SUPPORTED", "NOT_SUPPORTED"]]]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `"SUPPORTED"` - `"NOT_SUPPORTED"` - `dnssec_e2e: Optional[Iterable[bool]]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `domain: Optional[SequenceNotStr[str]]` Filters results by domain name. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `ip_version: Optional[List[Literal["IPv4", "IPv6"]]]` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: Optional[int]` Limits the number of objects returned in the response. - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `matching_answer: Optional[Iterable[bool]]` Filters results based on whether the queries have a matching answer. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `response_ttl: Optional[List[Literal["LTE_1M", "GT_1M_LTE_5M", "GT_5M_LTE_15M", 4 more]]]` Filters results by DNS response TTL. - `"LTE_1M"` - `"GT_1M_LTE_5M"` - `"GT_5M_LTE_15M"` - `"GT_15M_LTE_1H"` - `"GT_1H_LTE_1D"` - `"GT_1D_LTE_1W"` - `"GT_1W"` ### Returns - `class TopAsesResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: Optional[MetaConfidenceInfo]` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `top_0: List[Top0]` - `client_asn: int` - `client_as_name: str` - `value: str` A numeric string. ### 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.radar.dns.top.ases() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "top_0": [ { "clientASN": 3243, "clientASName": "MEO", "value": "10" } ] }, "success": true } ``` ## Get top locations by DNS queries `radar.dns.top.locations(TopLocationsParams**kwargs) -> TopLocationsResponse` **get** `/radar/dns/top/locations` Retrieves the top locations by DNS queries made to 1.1.1.1 DNS resolver. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `cache_hit: Optional[Iterable[bool]]` Filters results based on cache status. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `dnssec: Optional[List[Literal["INVALID", "INSECURE", "SECURE", "OTHER"]]]` Filters results based on DNSSEC (DNS Security Extensions) support. - `"INVALID"` - `"INSECURE"` - `"SECURE"` - `"OTHER"` - `dnssec_aware: Optional[List[Literal["SUPPORTED", "NOT_SUPPORTED"]]]` Filters results based on DNSSEC (DNS Security Extensions) client awareness. - `"SUPPORTED"` - `"NOT_SUPPORTED"` - `dnssec_e2e: Optional[Iterable[bool]]` Filters results based on DNSSEC-validated answers by end-to-end security status. - `domain: Optional[SequenceNotStr[str]]` Filters results by domain name. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `ip_version: Optional[List[Literal["IPv4", "IPv6"]]]` Filters results by IP version (Ipv4 vs. IPv6). - `"IPv4"` - `"IPv6"` - `limit: Optional[int]` Limits the number of objects returned in the response. - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `matching_answer: Optional[Iterable[bool]]` Filters results based on whether the queries have a matching answer. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `response_ttl: Optional[List[Literal["LTE_1M", "GT_1M_LTE_5M", "GT_5M_LTE_15M", 4 more]]]` Filters results by DNS response TTL. - `"LTE_1M"` - `"GT_1M_LTE_5M"` - `"GT_5M_LTE_15M"` - `"GT_15M_LTE_1H"` - `"GT_1H_LTE_1D"` - `"GT_1D_LTE_1W"` - `"GT_1W"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TopLocationsResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: Optional[MetaConfidenceInfo]` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `top_0: List[Top0]` - `client_country_alpha2: str` - `client_country_name: str` - `value: str` A numeric string. ### 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.radar.dns.top.locations() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "top_0": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ``` ## Domain Types ### Top Ases Response - `class TopAsesResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: Optional[MetaConfidenceInfo]` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `top_0: List[Top0]` - `client_asn: int` - `client_as_name: str` - `value: str` A numeric string. ### Top Locations Response - `class TopLocationsResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: Optional[MetaConfidenceInfo]` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `top_0: List[Top0]` - `client_country_alpha2: str` - `client_country_name: str` - `value: str` A numeric string. # Summary ## Get DNS queries by cache status summary `radar.dns.summary.cache_hit(SummaryCacheHitParams**kwargs) -> SummaryCacheHitResponse` **get** `/radar/dns/summary/cache_hit` Retrieves the distribution of DNS queries by cache status. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryCacheHitResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `negative: str` A numeric string. - `positive: str` A numeric string. ### 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.radar.dns.summary.cache_hit() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "NEGATIVE": "10", "POSITIVE": "10" } }, "success": true } ``` ## Get DNS queries by DNSSEC support summary `radar.dns.summary.dnssec(SummaryDNSSECParams**kwargs) -> SummaryDNSSECResponse` **get** `/radar/dns/summary/dnssec` Retrieves the distribution of DNS responses by DNSSEC (DNS Security Extensions) support. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryDNSSECResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `insecure: str` A numeric string. - `invalid: str` A numeric string. - `other: str` A numeric string. - `secure: str` A numeric string. ### 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.radar.dns.summary.dnssec() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "INSECURE": "10", "INVALID": "10", "OTHER": "10", "SECURE": "10" } }, "success": true } ``` ## Get DNS queries by DNSSEC awareness summary `radar.dns.summary.dnssec_aware(SummaryDNSSECAwareParams**kwargs) -> SummaryDNSSECAwareResponse` **get** `/radar/dns/summary/dnssec_aware` Retrieves the distribution of DNS queries by DNSSEC (DNS Security Extensions) client awareness. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryDNSSECAwareResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `not_supported: str` A numeric string. - `supported: str` A numeric string. ### 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.radar.dns.summary.dnssec_aware() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "NOT_SUPPORTED": "10", "SUPPORTED": "10" } }, "success": true } ``` ## Get DNS queries by DNSSEC end-to-end summary `radar.dns.summary.dnssec_e2e(SummaryDNSSECE2EParams**kwargs) -> SummaryDNSSECE2EResponse` **get** `/radar/dns/summary/dnssec_e2e` Retrieves the distribution of DNSSEC-validated answers by end-to-end security status. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryDNSSECE2EResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `negative: str` A numeric string. - `positive: str` A numeric string. ### 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.radar.dns.summary.dnssec_e2e() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "NEGATIVE": "10", "POSITIVE": "10" } }, "success": true } ``` ## Get DNS queries by IP version summary `radar.dns.summary.ip_version(SummaryIPVersionParams**kwargs) -> SummaryIPVersionResponse` **get** `/radar/dns/summary/ip_version` Retrieves the distribution of DNS queries by IP version. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryIPVersionResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `i_pv4: str` A numeric string. - `i_pv6: str` A numeric string. ### 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.radar.dns.summary.ip_version() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "IPv4": "10", "IPv6": "10" } }, "success": true } ``` ## Get DNS queries by matching answer summary `radar.dns.summary.matching_answer(SummaryMatchingAnswerParams**kwargs) -> SummaryMatchingAnswerResponse` **get** `/radar/dns/summary/matching_answer` Retrieves the distribution of DNS queries by matching answers. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryMatchingAnswerResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `negative: str` A numeric string. - `positive: str` A numeric string. ### 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.radar.dns.summary.matching_answer() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "NEGATIVE": "10", "POSITIVE": "10" } }, "success": true } ``` ## Get DNS queries by protocol summary `radar.dns.summary.protocol(SummaryProtocolParams**kwargs) -> SummaryProtocolResponse` **get** `/radar/dns/summary/protocol` Retrieves the distribution of DNS queries by DNS transport protocol. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryProtocolResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `https: str` A numeric string. - `tcp: str` A numeric string. - `tls: str` A numeric string. - `udp: str` A numeric string. ### 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.radar.dns.summary.protocol() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "HTTPS": "10", "TCP": "10", "TLS": "10", "UDP": "10" } }, "success": true } ``` ## Get DNS queries by type summary `radar.dns.summary.query_type(SummaryQueryTypeParams**kwargs) -> SummaryQueryTypeResponse` **get** `/radar/dns/summary/query_type` Retrieves the distribution of DNS queries by type. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `limit_per_group: Optional[int]` Limits the number of objects per group to the top items within the specified time range. When item count exceeds the limit, extra items appear grouped under an "other" category. - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryQueryTypeResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Dict[str, 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.radar.dns.summary.query_type() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "A": "20", "AAAA": "20", "HTTPS": "20", "NS": "20", "PTR": "20" } }, "success": true } ``` ## Get DNS queries by response code summary `radar.dns.summary.response_code(SummaryResponseCodeParams**kwargs) -> SummaryResponseCodeResponse` **get** `/radar/dns/summary/response_code` Retrieves the distribution of DNS queries by response code. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `limit_per_group: Optional[int]` Limits the number of objects per group to the top items within the specified time range. When item count exceeds the limit, extra items appear grouped under an "other" category. - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryResponseCodeResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Dict[str, 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.radar.dns.summary.response_code() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "NOERROR": "70", "NOTIMP": "5", "NXDOMAIN": "10", "REFUSED": "5", "SERVFAIL": "5" } }, "success": true } ``` ## Get DNS queries by response TTL summary `radar.dns.summary.response_ttl(SummaryResponseTTLParams**kwargs) -> SummaryResponseTTLResponse` **get** `/radar/dns/summary/response_ttl` Retrieves the distribution of DNS queries by minimum response TTL. ### Parameters - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class SummaryResponseTTLResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `gt_15m_lte_1h: str` A numeric string. - `gt_1d_lte_1w: str` A numeric string. - `gt_1h_lte_1d: str` A numeric string. - `gt_1m_lte_5m: str` A numeric string. - `gt_1w: str` A numeric string. - `gt_5m_lte_15m: str` A numeric string. - `lte_1m: str` A numeric string. ### 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.radar.dns.summary.response_ttl() print(response.meta) ``` #### Response ```json { "result": { "meta": { "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "summary_0": { "gt_15m_lte_1h": "10", "gt_1d_lte_1w": "10", "gt_1h_lte_1d": "10", "gt_1m_lte_5m": "10", "gt_1w": "10", "gt_5m_lte_15m": "10", "lte_1m": "10" } }, "success": true } ``` ## Domain Types ### Summary Cache Hit Response - `class SummaryCacheHitResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `negative: str` A numeric string. - `positive: str` A numeric string. ### Summary DNSSEC Response - `class SummaryDNSSECResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `insecure: str` A numeric string. - `invalid: str` A numeric string. - `other: str` A numeric string. - `secure: str` A numeric string. ### Summary DNSSEC Aware Response - `class SummaryDNSSECAwareResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `not_supported: str` A numeric string. - `supported: str` A numeric string. ### Summary DNSSEC E2E Response - `class SummaryDNSSECE2EResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `negative: str` A numeric string. - `positive: str` A numeric string. ### Summary IP Version Response - `class SummaryIPVersionResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `i_pv4: str` A numeric string. - `i_pv6: str` A numeric string. ### Summary Matching Answer Response - `class SummaryMatchingAnswerResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `negative: str` A numeric string. - `positive: str` A numeric string. ### Summary Protocol Response - `class SummaryProtocolResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `https: str` A numeric string. - `tcp: str` A numeric string. - `tls: str` A numeric string. - `udp: str` A numeric string. ### Summary Query Type Response - `class SummaryQueryTypeResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Dict[str, str]` ### Summary Response Code Response - `class SummaryResponseCodeResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Dict[str, str]` ### Summary Response TTL Response - `class SummaryResponseTTLResponse: …` - `meta: Meta` Metadata for the results. - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `summary_0: Summary0` - `gt_15m_lte_1h: str` A numeric string. - `gt_1d_lte_1w: str` A numeric string. - `gt_1h_lte_1d: str` A numeric string. - `gt_1m_lte_5m: str` A numeric string. - `gt_1w: str` A numeric string. - `gt_5m_lte_15m: str` A numeric string. - `lte_1m: str` A numeric string. # Timeseries Groups ## Get DNS queries by cache status time series `radar.dns.timeseries_groups.cache_hit(TimeseriesGroupCacheHitParams**kwargs) -> TimeseriesGroupCacheHitResponse` **get** `/radar/dns/timeseries_groups/cache_hit` Retrieves the distribution of DNS queries by cache status over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupCacheHitResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `negative: List[str]` - `positive: List[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.radar.dns.timeseries_groups.cache_hit() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "NEGATIVE": [ "10" ], "POSITIVE": [ "10" ] } }, "success": true } ``` ## Get DNS queries by DNSSEC support time series `radar.dns.timeseries_groups.dnssec(TimeseriesGroupDNSSECParams**kwargs) -> TimeseriesGroupDNSSECResponse` **get** `/radar/dns/timeseries_groups/dnssec` Retrieves the distribution of DNS responses by DNSSEC (DNS Security Extensions) support over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupDNSSECResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `insecure: List[str]` - `invalid: List[str]` - `other: List[str]` - `secure: List[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.radar.dns.timeseries_groups.dnssec() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "INSECURE": [ "10" ], "INVALID": [ "10" ], "OTHER": [ "10" ], "SECURE": [ "10" ] } }, "success": true } ``` ## Get DNS queries by DNSSEC awareness time series `radar.dns.timeseries_groups.dnssec_aware(TimeseriesGroupDNSSECAwareParams**kwargs) -> TimeseriesGroupDNSSECAwareResponse` **get** `/radar/dns/timeseries_groups/dnssec_aware` Retrieves the distribution of DNS queries by DNSSEC (DNS Security Extensions) client awareness over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupDNSSECAwareResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `not_supported: List[str]` - `supported: List[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.radar.dns.timeseries_groups.dnssec_aware() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "NOT_SUPPORTED": [ "10" ], "SUPPORTED": [ "10" ] } }, "success": true } ``` ## Get DNS queries by DNSSEC end-to-end time series `radar.dns.timeseries_groups.dnssec_e2e(TimeseriesGroupDNSSECE2EParams**kwargs) -> TimeseriesGroupDNSSECE2EResponse` **get** `/radar/dns/timeseries_groups/dnssec_e2e` Retrieves the distribution of DNSSEC-validated answers by end-to-end security status over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupDNSSECE2EResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `negative: List[str]` - `positive: List[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.radar.dns.timeseries_groups.dnssec_e2e() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "NEGATIVE": [ "10" ], "POSITIVE": [ "10" ] } }, "success": true } ``` ## Get DNS queries by IP version time series `radar.dns.timeseries_groups.ip_version(TimeseriesGroupIPVersionParams**kwargs) -> TimeseriesGroupIPVersionResponse` **get** `/radar/dns/timeseries_groups/ip_version` Retrieves the distribution of DNS queries by IP version over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupIPVersionResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `i_pv4: List[str]` - `i_pv6: List[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.radar.dns.timeseries_groups.ip_version() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "IPv4": [ "10" ], "IPv6": [ "10" ] } }, "success": true } ``` ## Get DNS queries by matching answer time series `radar.dns.timeseries_groups.matching_answer(TimeseriesGroupMatchingAnswerParams**kwargs) -> TimeseriesGroupMatchingAnswerResponse` **get** `/radar/dns/timeseries_groups/matching_answer` Retrieves the distribution of DNS queries by matching answers over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupMatchingAnswerResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `negative: List[str]` - `positive: List[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.radar.dns.timeseries_groups.matching_answer() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "NEGATIVE": [ "10" ], "POSITIVE": [ "10" ] } }, "success": true } ``` ## Get DNS queries by protocol time series `radar.dns.timeseries_groups.protocol(TimeseriesGroupProtocolParams**kwargs) -> TimeseriesGroupProtocolResponse` **get** `/radar/dns/timeseries_groups/protocol` Retrieves the distribution of DNS queries by DNS transport protocol over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupProtocolResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `https: List[str]` - `tcp: List[str]` - `tls: List[str]` - `udp: List[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.radar.dns.timeseries_groups.protocol() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "HTTPS": [ "10" ], "TCP": [ "10" ], "TLS": [ "10" ], "UDP": [ "10" ] } }, "success": true } ``` ## Get DNS queries by type time series `radar.dns.timeseries_groups.query_type(TimeseriesGroupQueryTypeParams**kwargs) -> TimeseriesGroupQueryTypeResponse` **get** `/radar/dns/timeseries_groups/query_type` Retrieves the distribution of DNS queries by type over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `limit_per_group: Optional[int]` Limits the number of objects per group to the top items within the specified time range. When item count exceeds the limit, extra items appear grouped under an "other" category. - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupQueryTypeResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `timestamps: List[datetime]` ### 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.radar.dns.timeseries_groups.query_type() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "timestamps": [ "2023-08-08T10:15:00Z" ] } }, "success": true } ``` ## Get DNS queries by response code time series `radar.dns.timeseries_groups.response_code(TimeseriesGroupResponseCodeParams**kwargs) -> TimeseriesGroupResponseCodeResponse` **get** `/radar/dns/timeseries_groups/response_code` Retrieves the distribution of DNS queries by response code over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `limit_per_group: Optional[int]` Limits the number of objects per group to the top items within the specified time range. When item count exceeds the limit, extra items appear grouped under an "other" category. - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupResponseCodeResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `timestamps: List[datetime]` ### 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.radar.dns.timeseries_groups.response_code() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "timestamps": [ "2023-08-08T10:15:00Z" ] } }, "success": true } ``` ## Get DNS queries by response TTL time series `radar.dns.timeseries_groups.response_ttl(TimeseriesGroupResponseTTLParams**kwargs) -> TimeseriesGroupResponseTTLResponse` **get** `/radar/dns/timeseries_groups/response_ttl` Retrieves the distribution of DNS queries by minimum answer TTL over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `asn: Optional[SequenceNotStr[str]]` Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. - `continent: Optional[SequenceNotStr[str]]` Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` Filters results by date range. For example, use `7d` and `7dcontrol` to compare this week with the previous week. Use this parameter or set specific start and end dates (`dateStart` and `dateEnd` parameters). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `location: Optional[SequenceNotStr[str]]` Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `nodata: Optional[Iterable[bool]]` Specifies whether the response includes empty DNS responses (NODATA). - `protocol: Optional[List[Literal["UDP", "TCP", "HTTPS", "TLS"]]]` Filters results by DNS transport protocol. - `"UDP"` - `"TCP"` - `"HTTPS"` - `"TLS"` - `query_type: Optional[List[Optional[Literal["A", "AAAA", "A6", 85 more]]]]` Filters results by DNS query type. - `"A"` - `"AAAA"` - `"A6"` - `"AFSDB"` - `"ANY"` - `"APL"` - `"ATMA"` - `"AXFR"` - `"CAA"` - `"CDNSKEY"` - `"CDS"` - `"CERT"` - `"CNAME"` - `"CSYNC"` - `"DHCID"` - `"DLV"` - `"DNAME"` - `"DNSKEY"` - `"DOA"` - `"DS"` - `"EID"` - `"EUI48"` - `"EUI64"` - `"GPOS"` - `"GID"` - `"HINFO"` - `"HIP"` - `"HTTPS"` - `"IPSECKEY"` - `"ISDN"` - `"IXFR"` - `"KEY"` - `"KX"` - `"L32"` - `"L64"` - `"LOC"` - `"LP"` - `"MAILA"` - `"MAILB"` - `"MB"` - `"MD"` - `"MF"` - `"MG"` - `"MINFO"` - `"MR"` - `"MX"` - `"NAPTR"` - `"NB"` - `"NBSTAT"` - `"NID"` - `"NIMLOC"` - `"NINFO"` - `"NS"` - `"NSAP"` - `"NSEC"` - `"NSEC3"` - `"NSEC3PARAM"` - `"NULL"` - `"NXT"` - `"OPENPGPKEY"` - `"OPT"` - `"PTR"` - `"PX"` - `"RKEY"` - `"RP"` - `"RRSIG"` - `"RT"` - `"SIG"` - `"SINK"` - `"SMIMEA"` - `"SOA"` - `"SPF"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TA"` - `"TALINK"` - `"TKEY"` - `"TLSA"` - `"TSIG"` - `"TXT"` - `"UINFO"` - `"UID"` - `"UNSPEC"` - `"URI"` - `"WKS"` - `"X25"` - `"ZONEMD"` - `response_code: Optional[List[Literal["NOERROR", "FORMERR", "SERVFAIL", 16 more]]]` Filters results by DNS response code. - `"NOERROR"` - `"FORMERR"` - `"SERVFAIL"` - `"NXDOMAIN"` - `"NOTIMP"` - `"REFUSED"` - `"YXDOMAIN"` - `"YXRRSET"` - `"NXRRSET"` - `"NOTAUTH"` - `"NOTZONE"` - `"BADSIG"` - `"BADKEY"` - `"BADTIME"` - `"BADMODE"` - `"BADNAME"` - `"BADALG"` - `"BADTRUNC"` - `"BADCOOKIE"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. ### Returns - `class TimeseriesGroupResponseTTLResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `gt_15m_lte_1h: List[str]` - `gt_1d_lte_1w: List[str]` - `gt_1h_lte_1d: List[str]` - `gt_1m_lte_5m: List[str]` - `gt_1w: List[str]` - `gt_5m_lte_15m: List[str]` - `lte_1m: List[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.radar.dns.timeseries_groups.response_ttl() print(response.meta) ``` #### Response ```json { "result": { "meta": { "aggInterval": "FIFTEEN_MINUTES", "confidenceInfo": { "annotations": [ { "dataSource": "ALL", "description": "Cable cut in Tonga", "endDate": "2019-12-27T18:11:19.117Z", "eventType": "EVENT", "isInstantaneous": true, "linkedUrl": "https://example.com", "startDate": "2019-12-27T18:11:19.117Z" } ], "level": 0 }, "dateRange": [ { "endTime": "2022-09-17T10:22:57.555Z", "startTime": "2022-09-16T10:22:57.555Z" } ], "lastUpdated": "2019-12-27T18:11:19.117Z", "normalization": "PERCENTAGE", "units": [ { "name": "*", "value": "requests" } ] }, "serie_0": { "gt_15m_lte_1h": [ "10" ], "gt_1d_lte_1w": [ "10" ], "gt_1h_lte_1d": [ "10" ], "gt_1m_lte_5m": [ "10" ], "gt_1w": [ "10" ], "gt_5m_lte_15m": [ "10" ], "lte_1m": [ "10" ] } }, "success": true } ``` ## Domain Types ### Timeseries Group Cache Hit Response - `class TimeseriesGroupCacheHitResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `negative: List[str]` - `positive: List[str]` ### Timeseries Group DNSSEC Response - `class TimeseriesGroupDNSSECResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `insecure: List[str]` - `invalid: List[str]` - `other: List[str]` - `secure: List[str]` ### Timeseries Group DNSSEC Aware Response - `class TimeseriesGroupDNSSECAwareResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `not_supported: List[str]` - `supported: List[str]` ### Timeseries Group DNSSEC E2E Response - `class TimeseriesGroupDNSSECE2EResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `negative: List[str]` - `positive: List[str]` ### Timeseries Group IP Version Response - `class TimeseriesGroupIPVersionResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `i_pv4: List[str]` - `i_pv6: List[str]` ### Timeseries Group Matching Answer Response - `class TimeseriesGroupMatchingAnswerResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `negative: List[str]` - `positive: List[str]` ### Timeseries Group Protocol Response - `class TimeseriesGroupProtocolResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `https: List[str]` - `tcp: List[str]` - `tls: List[str]` - `udp: List[str]` ### Timeseries Group Query Type Response - `class TimeseriesGroupQueryTypeResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `timestamps: List[datetime]` ### Timeseries Group Response Code Response - `class TimeseriesGroupResponseCodeResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `timestamps: List[datetime]` ### Timeseries Group Response TTL Response - `class TimeseriesGroupResponseTTLResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"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"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` - `serie_0: Serie0` - `gt_15m_lte_1h: List[str]` - `gt_1d_lte_1w: List[str]` - `gt_1h_lte_1d: List[str]` - `gt_1m_lte_5m: List[str]` - `gt_1w: List[str]` - `gt_5m_lte_15m: List[str]` - `lte_1m: List[str]`